Monday, December 31, 2007

Happy New Year

To everyone out there in the virtual world, a very happy New Year. May this next year bring health, companionship, the culmination of your efforts, and the fulfillment of your dreams.

Wednesday, December 19, 2007

More Wedding Pictures

Some more pictures from Jeremy's wedding. These were taken by various members of the wedding party; the professional pictures won't be back for a couple of weeks yet.

Left to right: me, Eva, Jeremy, Alex

Left to right: Eva's brother Steve, Eva (almost hidden behind Steve), me, Alex, Melissa, Dave, Alex's friend, Ross, Steve's daughter's husband, Rachel, Steve's daughter.

The cupcake toppers

Eating the first cupcake.

Tuesday, December 18, 2007

Wedding Bells for Jeremy

As of last Saturday, the Ides of December, we have no more marriageable children in our family. Our youngest son Jeremy married Debbie, his friend and housemate for the last 9 or 10 years now. It was a great wedding; it worked well because Jeremy and Debbie made all the decisions about how the wedding would be organized, chose the decor and hired the photographer and the caterer. And they chose, instead of a cake, to have cupcakes made by a local specialty bakery called Saint Cupcake. They were delicious, and didn't require a major effort to cut, either. Oh, and Jeremy wanted the primary wedding party to be dressed formally, so he and I and Debbie's father Gene wore tuxedos. First time for me; I never went to the Senior Prom. At this rate I will probably get to wear a tux again when we take a cruise to Titan and the Rings.

Because of the wedding, we put up a lot of relatives from out of town for the wedding. As I write, all but our older son Alex and his wife Melissa have gone back home, but they're staying on for a few days. This worked out well for them, although Melissa had to stay up late last night to finish grading her Design of Psychology Experiments class remotely so the seniors could find out whether they get to graduate. Since her TA is about to flunk out as well, there was a certain amount of drama in the grading.

It's nice to have Alex and Melissa here; it's the first time they've been back in Portland in almost three years. In fact, it's the first time that any of the relatives except our children have seen our new (inhabited three and a half years now) house. The good news is that all the remodeling and most of the painting was done by the week before the wedding, so there was room for people to sleep and no paint cans to trip over.

Tuesday, November 20, 2007

Looney Dune

Soon to be a major motion picture:

Warner Bros. presents "Loony-Dune"

A new retelling of the Frank Herbert classic "Dune" with an all-star cast of Warner Bros. cartoon characters.

Directed by Chuck Jones


Paul Usul Muad'Dib Atreides  Bugs Bunny

He stood against the hunters of a galaxy!

Duke Leto Atreides Porky Pig

"Tha-tha-tha-that's all, Duke!"

Lady Jessica, Petunia Pig

She wanted more from her Duke than she was
supposed to!

Thufir Hawat Elmer Fudd

The steely-eyed Mentat master of assassins.

Gurney Halleck Daffy Duck

"Thhhuuufir Hawatttt, eh? I can drink him
under the table withhh one hand behind my back!"

Duncan Idaho Sylvester

He would have been a better hero if he weren't
off chasing birds.

Dr. Wellington Yueh Pepe' Le Pew

Something about this loyal follower stank!

Padishah Emperor Shaddam IV Wile Coyote

Somehow his interstellar schemes always

Princess Irulan Miss Prissy

She was far too well-bred for the role she
had to play.

Reverend Mother Gaius Helen Mohiam Granny

There's a gom jabbar in the old girl yet.

Baron Vladimir Harkonnen Foghorn Leghorn

Evil, a shrewd politician, and a chicken

Piter De Vries Marvin Martian

Alien to all, his warped views led him to

Feyd-Rautha Henery Hawk

If he knew what his uncle really was, he'd
eat him alive!

"Beast" Rabban Tasmanian Devil

His appetites almost brought down a dynasty!

Stilgar Sam Sheepdog

He followed his master, but did not understand

Chani Tweetie Pie

This early bird got the Worm.

Liet-Kynes Yosemite Sam

His knowledge of the desert couldn't save him
from the dangers of the town.

Guild Navigator The Roadrunner

"Meep meep!"

Saturday, August 25, 2007

Why is Software Development the Butt of All Those Jokes?

This is the first in an irregular series of posts on the subject of software development, its history, its current state, and its potential futures. Software development is a subject I've been passionate about for a long time, and one which has demanded a lot of my professional life. I'd like to present some of my experience and the conclusions I've drawn from it for others to use.

I've been a software developer for almost three decades now, and I probably know all the jokes about how bad software development is. There's some reason for the jokes. Software is too hard to develop, it takes too long, costs too much, and has too many bugs. Big systems aren't reliable, are too hard to understand. No one understands how to manage software development, how to plan it, or how to design it so that it performs the functions that are required.

Probably the best known joke about software is the old line, "If buildings and bridges were built the way we build software, the first woodpecker to come along would destroy civilization." True or not, the fact that so many software professionals repeat the joke indicates that someone believes there's truth in it. It shows a bad case of what I call "concrete envy" in the field, a feeling of inferiority to the older, notionally more mature, engineering disciplines.

Now that I've said the things that everyone knows, let's talk about the real elephant in the living room. The reason nobody knows how to manage software is that nobody really knows what software is. Computing is a bastard field, out of electronics by mathematics. Computer science as a research or educational discipline at first was organized in either Electrical Engineering or Mathematics departments, and the two had very different ideas of what "programming" was. Was it science or engineering? Mathematical formulae or electrical diagrams? Abstract symbology or concrete instructions? And then it got more complicated as new generations of computer languages came into use by programmers who had never constructed a patch block or written a program in machine code. They took the abstractions of the languages for granted as real things, not combinations of registers and arithmetic units. Several generations of languages and tools later almost no one in the field has any connection with the original concepts, which are buried under layers of other abstractions.

To most practitioners now, software is neither science nor engineering but a technical craft with its own rules and requirements, its own language and symbology. Its purpose isn't learning about nature or about what can possibly be constructed, it's about building specific devices for specific purposes. It's not done by universities or by engineering labs but by corporations that need software to operate their businesses, and need to manage the cost and schedule of projects to construct it. And the people responsible for the creation of software are often managers who were never programmers themselves and don't have any understanding of what what needs to be done, or what the result of the work will be. Sometimes (especially in open source software communities) the people responsible are also the ones who do the development, but they are less concerned by how the software is used than by how it is designed and built.

Now this is starting to sound like a common software rant, I know. But consider the implications of there being many different kinds of people with different kinds of expertise involved in the software industry. There's no agreement on what they're working on, let alone how to work on it. And then we get into the deep quagmire of requirements versus specifications: the question of how to determine what the software should do, and how to translate that into a description of how the software should work. Many's the project that's bogged down in that pit only to be dug up later by paleontologists in chunks of peat.

So here's the task I've taken on for these posts. I'm going to describe the state that software development is in today, with some attempts to understand how that state came to be. Then I'm going to prescribe what I think is a good, but certainly not the only good, treatment regime to improve matters. Along the way I'll talk about some of the prescriptions that have been handed out before, and why they did or didn't work. I promise that this will not be a completely objective analysis: I have strong opinions, and a particular viewpoint to work from, and that will color what I have to say. I hope that means that it will be colorful as well.

Some topics I will definitely touch on: the checkered history of programming languages, tools, and paradigms, the business of development methodologies, and the effect of the high-tech economy on progranmming. I welcome your comments on what I have to say, and will respond as I can.

Next up: what is software, and what does it mean to "build" it?

Wednesday, August 22, 2007

Wedding Photographs

Pursuant to the "Wedding Apparel - Never Worn" thread on Making Light, follow the link on the title of this post, or go to the "My Current Photo Gallery" link on the left side of this page.

There are some pictures of my older son's wedding in 2005 on the beach in Florida, and some pictured of my own wedding in funny clothes and hairstyles in 1970. Try not to think too badly of us oldsters.

Monday, August 20, 2007

Cthulhu's Wild Ride

Especially for Serge

Oh Bother, Said Pooh ...

An illustration of why Disney's desire for permanent copyright would be bad for Winnie the Pooh.

Oh bother, said Pooh, as the Great Old One Walt rose up from the unspeakable depths.

Friday, August 17, 2007

The Stairs Like Dust

The remodeling job continues, slower than hoped for, of course. We have mold problems, but since we already knew we had asbestos that needed removal, I made a deal with the remediators to do both at once. And then we found still more mold. So when I get home today, I hope that I will find that they've gotten it all and it won't cost any more than I already expect it to.

So far, though, I'm very happy with the people doing the work. They've put up plastic dust barriers to keep the debris from floating all over the house; thats sort of a necessity for Eva, with her asthma and allergies, and something I appreciate too, though I could probably survive without it. So there really isn't a lot of dust on the stairs, but I just couldn't resist the title pun.

The only real problem we've had is that the Porta-Potty deliverer left it in the wrong place, and so far hasn't come back to move it though the company has been asked twice now. We don't know how long we'll need it, but it's looking like at least another week, so convenience is an issue. They left it at the top of the drive, right by the bike path on the road. This is a busy street; it's also a major bike and pedestrian route from this whole part of town to Wilson High School, about 1/3 of a mile from us. So I would really like to have the Porta-Potty be down the driveway, under the carport and right by our side door. That way I can go out in the morning in my bathrobe, before getting dressed. It would also mean I wouldn't have to have the sneaking feeling that one of these days I'm going to be sitting in there in the morning when a gaggle of passing male teens decides to celebrate tradition by tipping over the outhouse.

Saturday, August 11, 2007

Here Come the Dust

As if my posting to this blog weren't spotty enough, we're having a major remodel job done on our house, both bathrooms at once, and the demolition starts on Monday morning. We'll be staying in a motel for a couple of days so we'll be able to breathe. In the meantime, my schedule is going to be fairly nutty and crunchy, so posting here will be on a "as-possible" basis.

Wednesday, August 8, 2007

Saturday, July 28, 2007

The Oregon Connection

The Oregon news media are largely focused on local news. Oh, there's some coverage of regional and national issues, and some (not very good) international coverage, but local is more important. Every once in a while, they find some facet of a non-local story that involves a place or person in Oregon, and they go nuts over it. They call it the Oregon Connection. I swear, if the sun was about to go nova, and they found out that the robot telescope that was used to discover the fact was designed by an engineer from Portland, there'd be more column inches on the front page of the Oregonian newspaper under the headline, "End of the World - The Oregon Connection" than there would be under "Sun to Kill Us All".

Jimbo Wales gave a keynote address at the O'Reilly Open Source Convention in Portland Friday, and they wanted to do a story about it in the paper. As you know Bob, Jimbo is the daimyo of Wikipedia, and some bright geek at the paper remembered the Wiki technolgy was invented by Ward Cunningham, who has lived in Portland for several decades. So they got the two of them together for an interview with an Oregon Connection (follow the title link).

It's an interesting interview, but there's one response from Wales that got my attention, because it relates to the discussion in the "Gaming Wikipedia" thread on Making Light. The thread is about how much of what goes on in Wikipedia is in the control of admins who are more concerned about arbitrary rules (many of which they seem to be making up as they go along) than about the accuracy and scope of the articles. In the interview, Wales saye:

For me, it's kind of evolved into a general philosophy for social software. . . . After seeing things like Wikipedia emerge and be really big, people still tend to start out designing any sort of social software by thinking of all the bad things people might do rather than saying: Let anybody do anything, but make sure you can reverse it. Make sure it's visible what's going on. . .

And I think that kind of deliberate vulnerability kind of raises everybody's ethics a little bit, whereas locking it down then generates this kind of environment of, "Oooh, everything's locked down." So now the game is to try to figure out how to vandalize it, or how to misbehave. Defacing an article on Wikipedia is, like, fun for half a second. It's not that exciting.

But what's happened is that a class of bureaucrats has emerged to prevent exactly the openness that Wales is talking about, and it's not clear that he's aware of it. Which leaves Wikipedia in exactly the place you'd expect to find a naive Libertarian experiment: in the hands of those who can grab power and hold onto it the longest.

Visiting the East Side

We spent the day visiting Madras, Oregon. Well, driving there, walking around, then driving back. We haven't been out that way in years, and it's grown a bit, but the real reason to go is the scenery. We drove out route 26, the route to the ski runs at Timberline Lodge and Ski Bowl. The road runs along the southwest side of Mt Hood, and goes as high as 4800 ft, so you get some great views of the mountain, especially on the south side as you move enough away to see the entire mountain, rather than just the part above you when you're on the slope.

But then comes the part I'd forgotten about. As you move south from Mt Hood, and come past on the north side of Mt. Jeffereon, you approach the Deschutes River Canyon. The land around there is pretty flat, until the road goes down into a cut and you see the canyon, hundreds of feet deep. To get to Madras you drive down to the river at the bottom of the canyon, then back up to the top on the other side. Once out on the east side you can't see the canyon anymore. It's kind of eerie.

Friday, July 27, 2007

It's Almost Our Birthday

No, I don't have a mouse in my pocket. Eva and I have birthdays one day apart, she's July 29 and I'm July 31. And this year, she's turning 60 (I did that last year, so I get to be oh so very superior). We're planning on a day trip this weekend out to the east side of Mount Hood, and I"m off of work on Monday (the company has a policy of giving you your birthday off) because that's our "official" birthday. So I don't know if I'll get to post anything again before Monday or Tuesday.

Thursday, July 26, 2007

Why I Want Wikipedia to be Less Bureaucratic

Patrick Nielsen Hayden at Making Light, a place I hang out in a lot, started a bit of ruckus in the thread at the link above, by commenting on a row at Wikipedia over admin powers and responsibilities. In the course of the discussion, the subject got to the enforcement of style guides and how this both shapes and discloses the uses and abuses of power on the site. The style discussion gets kicked off by comment #70, though the whole thread is worth reading.

I'm not going to recap the discussion; most of the commenters are at least as intelligent and articulate as I am, if not more so, and they don't need me to paraphrase them. But I want to expand on one comment I made at #153:

What concerns me the most about the way Wikipedia is going is that it's a grand experiment that will very likely affect the way organizations are built on the web for many years to come. In particular one of its experiments is in automating the routine aspects of organizing and regulating a consensus-driven endeavor, and so far that part of the experiment has been pretty much a failure, as shown by how much energy goes into these "routine" decisions and their aftermath. That's a shame; if we could learn how to do that, it would make creating and operating dynamically-organized work groups much easier and faster, and therefore more common.

One of the reasons I've spent the last 25 years or so working on computer software is that I've had a vision of the computer as a tool that can be used to help people communicate and work with each other. There are a lot of necessary tasks in any social endeavor (and all groups of people working together are social in nature) that people are typically bad at, because they involve mind-numbing drudgery, or require highly-consistent results on routine decision-making. The result is either non-optimal decisions, delayed or ignored decisions, or both. It seems to me that some of that problem can be solved by automating some of routine work that has to get done.

It would also be helpful to automate routine organizational work: figuring out who needs to be notified about things, managing the form and content of routine messages, scheduling routine tasks, etc. Doing this would allow the building of organizational frameworks that can be parameterized and customized for a given organization. So starting up a new group to do something like what an existing group does would be relatively easy. Properly done, customization could be continual, so the organization could be modified to deal with new requirements and newly-discovered consequences of old requirements. Essentially what I want to do is remove the human bureaucrat from the organization; make routine the domain of the machine, and make sure that there are humans available to monitor the artificial bureaucrats and prevent them from becoming autocrats as human bureaucrats so often do.

In my wilder dreams, I hope that this idea can be applied to government as well. I'm somewhat of a minimalist in government; I've often said that I'd be an anarchist if I could figure out how to make it work in the real world. But I'm not a Libertarian, because I know how much grunt work has to be done to keep any social structure running, and I know how easy it is for that gruntwork to become bureaucratic makework.1 So some sort of formal regulation structure is necessary, much as Libertarians and Conservatives may not like the idea.

Here's an example of how this idea might work. Let's say I want to create a special interest group on theatrical costuming.2 The group should be a resource for discussion of the history, purposes, techniques, and styles of costuming, for the exchange of designs and tools for creating costumes, and for exchange of information about jobs in the field. And it will probably acquire other purposes as time goes on. An organization of this sort needs some structure around maintaining a membership list, if only for mailing out notices and newsletters. If it requires dues and provides services from them, it needs some financial structure and some oversight mechanism.3

As things are done today, my first step, assuming I expect this organization to be of any size and geographical distribution, is to find someone with experience in running such an organization. That may be a professional, whom I will have to hire and pay. It probably also means hiring a lawyer, at least to set up articles of incorporation and some sort of initial licensing and registration with governmental bodies, where appropriate.

In a better world, I would first go to the open source organization repository, and look for frameworks designed for similar kinds of organization. I'd chose one and download it, then run its setup program, filling in parameters and selecting customization options. The result would be (among other things) a description of the organization in some standard form that could have legal status once approved and registered. This could be passed among the people who are interested in the initial formation of the organization and discussed and modified until consensus on the form is reached. The final description could be sent to a lawyer to be vetted, in the same way one would get legal advice on a contract.

Once the description is agreed upon, the server program that implements the organization is started and connected to database, web, and email resources as needed. Then the initial set of officers, administrators, whatever you want to call them, the people who will monitor the operation of the organization and handle out-of-routine decisions, would be identified to the server and the organization could begin to function. As problems with the description or new requirements are discovered, the administrators would modify the customization to deal with them using tools built into the framework.

For some time, I've viewed Wikipedia as a (rather primitive, I admit) test bed and protoype for some of these concepts, and that, if it is successful, as an illustration and demonstration of the advantaqes of this sort of automation. But the amount of energy that's wasted in the wrangling over decisions that should be made and appeals handled routinely as well, has convinced me that it would be better not to consider Wikipedia as a test of these ideas, because they would surely be deemed failures based on the current outcome.

1 Classic description of this process in fiction: in Ursula LeGuin's "The Dispossessed", the department responsible for scheduling people's regular cleaning and maintenance assignments in an anarchical society ends up running the society.

2 Let's assume for a moment that organizations like the International Costumers' Guild, Inc. don't already exist.

3 You need to be able to select (perhaps elect) a Treasurer, and you never leave the Treasurer with non-transparent access to the money.

More frequent posts, honest

I'm going to start posting regularly now, if only because I need the practice in writing. And if I keep updating my website, maybe I'll even get some visitors.

Saturday, June 16, 2007

More poetry on my website

There's more poetry now on the Den of SpeakerToManagers website. The new poems include several sonnets and a villanelle, only the second one I've ever written. Please read and enjoy.

From now on, I'm going to post here on my blog whenever I update the website; so if you subscribe to the RSS feed here, you'll get notified when the website changes.

Monday, April 30, 2007

First Post

This is the inaugural post for my new blog, replacing the old one that's no longer available, and good riddance. I'm going to try to blog a little more often, and with a greater diversity of subjects. If you're interested in reading my poetry or looking at my photographs, follow the links on this page to my website.