Tuesday, July 31, 2007

Remodel step 1: asbestos removal

We're having a remodel done. We started the process last fall by refinancing the house, and setting aside part of the proceeds for a remodel. (Interest on money from a refinance is deductible if it is used for remodelling. We opened a separate account and are only using those funds for the remodel.)

A few months ago, we actually started planning the details of what we wanted to do, and hired a contractor, etc. If I had thought harder, I would have realized it was going to be an adventure and started writing about it earlier. Eventually, we'll have an additional bedroom, and a refurbished kitchen and master bathroom. I may write more details about the changes in floorplan later.

This past weekend was the first of the exciting parts: before the remodel starts, we needed to have the asbestos-tainted acoustic ceilings removed. We made an appointment a few weeks ago to have the crew show up yesterday, so we knew we had to have the house cleared out by Sunday night. The asbestos removal company said we needed to have all furniture out, all the art off the walls, the drapes and drapery hardward removed and the light fixtures down from the ceilings. We spent most of the day Friday, and all day Saturday and Sunday finishing up. We normally park our cars in the garage, so there's plenty of room to pile everything there. We'll park both cars in the driveway for the next few months.

Yesterday we caught up on sleep, did some errands, and stayed away from the house. When we went by after playing softball, we found that the asbestos removal was complete. Our one surprise was that they had removed the light fixtures, leaving dangling wires. Today I reconnected most of the light fixtures (some are in areas that will be remodelled soon, and aren't worth replacing) and replaced the drapes in the bedrooms.

The cleaners come on Thursday, and we want to have them mop all the floors (the asbestos removal left minor stains everywhere), then we'll set up the bedroom again, and gradually move back in the stuff we're willing to move 4 times. (Late in the remodel, all the hardwood floors will be refinished, and everything on the floor will have to be moved out again.) Everything else will stay in the garage until it's all done.

I'll add photos of the empty house and the clean ceilings shortly.

Thursday, July 26, 2007

Thomas Sowell: Black Rednecks and White Liberals

Thomas Sowell's Black Rednecks and White Liberals reads like a collection of essays. Once you get through the whole thing, it becomes evident that Sowell is marshalling many arguments toward a common point. Since he never says what the point is though, we may not all agree on the point, or even that there is one.

I think the point he's trying to make is that socialization has led America's Blacks into a backwater that stifles individual and group progress, and they need to abandon the culture individually in order to change things. There are chapters intended to show that individual progress is individually rewarding; that slavery isn't to blame for Blacks' current plight; that blacks have fared well in parts of the US in the past; and that culture can push members of a group in a common direction, but it doesn't determine outcomes.

Sowell addresses issues calmly in this book that nearly inevitably generate more heat than light. His publisher and many readers seem to give him more leeway to talk about the causes and effects of black culture than any white academic would be likely to receive. He uses the opportunity well to show how a culture that raises up sloth and an aversion to education will destroy any chance at progress, even of able members of the group. He spends a long time (and the title of the book) trying to show that the culture defended by Blacks isn't their own--Sowell traces its roots to poor white Crackers in Britain. It's not obvious that Sowell's derivation is correct, but if the argument starts the ball rolling on Blacks' coming to disown this disfunctional culture, he'll have done a major favor for all of us.

Two other sections stand out as having value for some audiences. (The history he presents wasn't news to me, but I suspect Sowell is right that Political Correctness is keeping the facts hidden from many people.) "The Real History of Slavery" points out that many other people and ethnic groups have been subject to slavery over the ages (and their descendants did fine a few generations later) in order to argue that it's unreasonable for Blacks to hold onto slavery as an explanation for their current troubles.

"Black Education" describes several high schools and colleges that have been able to routinely turn out educated and successful Blacks. Sowell shows that they did this while enrolling Blacks from all social strata, and didn't limit attendance to students who had already demonstrated academic competence. Sowell shows that in each case, the main difference between these successful schools and others at the time or other current schools was their expectations of the students and their approach to education. Schools with low expectations and lax methods don't produce superior results. Schools that accept inferior teachers (in the name of equal representation on the faculty) or that don't expel students who don't make an effort perform poorly. Sowell, quite explicitly, lays the blame for today's failing schools on "liberals" who insist that it is important to respect students' cultures even when the culture is opposed to achievement.

Friday, July 20, 2007

New Zocalo release; OpenSource JavaMail incorporated

I just published a new release of Zocalo that includes the ability for new users to register for an account. I'm writing this note to report on what I learned from integrating JavaMail into Zocalo about Sun's progress on Open Sourcing the Java libraries. More than a year ago, I started down the path to integrate email into Zocalo for new account creation. On the web today, if users are to create their own accounts without requiring intervention from an administrator, the application pretty much has to be able to send mail. (You can do it just with a captcha to ensure they're a real person, but doing a round-trip confirmation is better, since you can update forgotten passwords, and you end up with the ability to send transaction reports.)

What I discovered at the time was that Sun had announced that they were going to open source all the Java libraries, but hadn't made much progress. The mail libraries hadn't been freed up, and in order to use any of the third-party open email packages I could find, I would have had to require that people installing Zocalo manually download the base package from Sun themselves. This seemed like enough of an additional burden on the installation process that I punted. I actually implemented a rudimentary utility function that would invoke a local process to send mail. I know how to make this work on Linux machines, and it could probably have been coerced into being usable on Macintoshes, but I don't know what it would take to make it work on Windows. And then I never made any use of that functionality, since it didn't seem likely to work on most platforms.

In early July, I decided it was time to revisit the issue, and spent some time searching through the status of Sun's open source efforts. I was pleased and surprised to find that they've actually released a lot of it. (It might be all of Sun's libraries for all I know. I couldn't quickly find an overview, history, or description of the source of all this code.) It all seems to be gathered together at the GlassFish project.

I was able to find the JavaMail area reasonably easily, though figuring out what jars I would need was somewhat harder. And figuring out what the open source terms were took some reading. The license itself seems pretty impenetrable to me, but I was reassured by re-reading the Open Source Definition at Open Source.org. Since OpenSource.org thinks that Sun's CDDL meets their definition, I don't have any qualms about shipping the GlassFish JavaMail libraries with Zocalo.

I then downloaded one of the releases (GlassFish's release numbering is confusing to me; I couldn't easily figure out which version was the best stable release for basic operations), and tried adding one jar file at a time to Zocalo, to see how much I would need to get things running. The GlassFish documentation implies that you have to buy into their whole paradigm to get it to work. There's lots of J2EE stuff, and a JavaBeans Activation Framework, and I don't know what-all. All I want to do is send SMTP mail via someone else's server. The person installing Zocalo will have to specify an SMTP server, and give a password (unless there's something running on the local machine, or the SMTP server is accessed securely on a LAN, but I haven't set those up yet.) I could have included an SMTP server, but the person installing still has to make a secure connection to an external server; it isn't any easier if you're a server than if you're logging in as an SMTP client. In the end, all I needed was activation.jar and mail.jar. No extra XML configuration files, no extra VM parameters, no hassle. There are a few more configuration parameters in Zocalo's startup files, but whatever I did, you'd have to specify the SMTP server and password somewhere.

In the end I was extremely pleased with how easy it was to use Sun's recently released JavaMail package. The 2007.2 release of Zocalo Open Source Prediction Markets makes good use of it, and it wasn't too painful to incorporate.