Author Archive

Uncategorized

MySQL Persisent Connections

Persistent database connections are a great idea, but in my experience often used where they don’t belong. The result: reduced performance. I can understand the appeal of a perceived free performance enhancement, but there are trade-offs to keep in mind.

MySQL AB has published a little article about using persistent connections with MySQL, discussing some of the things to consider before implementing persistent connections. MySQL’s connection handling is often fast enough that they’re not necessary.

Are there any drawbacks of persistent connections? Unfortunately there are. At first each connections takes up resources. This includes MySQL internal resources (memory, table cache elements, connections) as well as OS level resources – threads, open files and sockets. Some operating systems are quite OK with this, while others may show performance degradation. MySQL resources are often more important. By having the same amount of memory that would be used for persistent connections, you usually can configure MySQL to use larger buffers, which often gives extra performance. Will this outweigh the benefit from persistent connections? It completely depends on the application.

The lesson: benchmark your application and make optimizations only when necessary and appropriate.

Uncategorized

Slashdot Interviews Joe Clark

In case you missed it (I nearly did), Joe Clark gives a good interview for the Slashdot crowd.

He has such a straightforward, no-bullshit approach that can be grating in some circumstances but that really adds to the interview. All his writing, really. His book on web accessibility is still hands-down the best one out there. If you build web sites, read it.

Uncategorized

Internet Filtering is Bad For You

Okay, you already know that Internet filters block useful sites that they shouldn’t be blocking. It keeps getting worse. A recent study has shown that health information sites are being blocked, including The Journal of the American Medical Association‘s site for women’s health.

Great. Just frelling great. Are you convinced now?

Uncategorized

Martin Fowler interview

Just noticed a great series of interviews with Martin Fowler, in which he discusses such topics as refactoring, design, test-driven development. After reading these, for the first time I’m finding myself giving serious consideration to Extreme Programming, or at least agile software development methodologies.

Uncategorized

MFA in Software

Richard Gabriel advocates establishing a program for Master of Fine Arts in Software, asserting that writing software should be treated as a creative activity instead of solely within the province of engineering.

[W]hat do people do when they’re being trained, for example, to get a Master of Fine Arts in poetry? They study great works of poetry. Do we do that in our software engineering disciplines? No. You don’t look at the source code for great pieces of software. Or look at the architecture of great pieces of software. You don’t look at their design. You don’t study the lives of great software designers. So, you don’t study the literature of the thing you’re trying to build.

Second, MFA programs create a context in which you’re creating while reflecting on it. For example, you write poetry while reading and critiquing other poetry, and while working with mentors who are looking at what you’re doing, helping you think about what you’re doing and working with you on your revisions. Then you go into writers’ workshops and continue the whole process, and write many, many poems under supervision in a critical context, and with mentorship. We don’t do that with software.

See, too, Mr. Gabriel’s proposal for an MFA in Software.

This idea resonates strongly with me. In my work and reading, I’ve observed that programming’s creative side is inadequately recognized or addressed, certainly in academic programs.

Every few months, a “programmers vs. designers” debate erupts on one of the lists to which I subscribe. The contention is usually that designers and their work are creative, while programmers operate strictly within a left-brained, ordered, logical realm —never the twain shall meet.

Rubbish.

“The programmer, like the poet, works only slightly removed from pure thought-stuff. He builds his castles in the air, from air, creating by exertion of the imagination.” So wrote Fred Brooks in the Mythical Man Month. Yes, the nature of writing software — which must after all run on ever-logical computers — implies a certain logic and order to the work to achieve an effective end result. But working through a problem and inventing a solution, then working and reworking the solution to make it more efficient or elegant or both, is an inherently creative activity.

This process — an aspect of the craft, to use the argot — is where the benefit of working toward an MFA lies. Kiara’s working on her Masters in creative writing. The quality of her writing has noticeably improved as a direct result of the writing, rewriting, reading, critiquing, and revising that is emphasized in her program. The code I write has been improved by a similar process: working with and revising others’ code, and having others read mine. Knowing that others will be seeing my code forces me to write better, to think through a problem more clearly, to revise and improve the code until it is something I’m proud of instead of ashamed. I have learned a lot about programming and software design by reading code from well-established open source projects. From what I’ve seen, and from what Gabriel describes, this is missing or de-emphasized in most software engineering programs.

None of this is to dismiss the engineering side of software design and development. I’ve never been through a traditional computer science program and sometimes keenly feel the absence of that background in my work. For the most part I make up for it by being a pretty smart guy and by reading and writing a lot of code. And fixing a lot of bad code and poor designs written by comp sci grads with no practical experience in doing quality work. An MFA program that emphasizes the creative processes of software creation calls out to me. I really look forward to seeing this happen.

Uncategorized

My TiVo Thinks I’m Gay.

This is hilarious: If TiVo Thinks You Are Gay,
Here’s How to Set It Straight
.

Not just TiVo, but any of the technologies out there that guess at your preferences. It’s amusing to see what people will do to convince a machine that no, they’re not [fill-in-the-blank]. personally, I’m interested in what Amazon.com recommends to me based on my purchases. Netflix’s recommendations kinda wigged my out sometimes, but I don’t think I ever would have got to a point where I felt compelled to change my browsing or rating behavior so it didn’t think I was some kind of nature documentary freak.

Then again, if this is the sort of thing that the Information Awareness Office might be doing, I should be concerned.

Uncategorized

PGP 8.0 available

PGP Corporation, which has rescued PGP from the ashes, has released PGP 8.0 (i.e., this is a final version: it’s out of beta). At least for Windows and Mac OS X. A freeware version is available. but the holiday promotional price for the personal version isn’t half bad.

I’ve been happy with the beta version of PGP 8. To my surprise, it integrates nicely with Apple’s Mail.app, which I’ve started using again as my default mail client. Now, if only I could convince people that using PGP is worthwhile…

Uncategorized

My brother-in-law the falconer.

I’ve always thought that it was so cool that my brother-in-law is a falconer, and even cooler that he’s managed to turn it into a way to make a living, doing wildlife education (send email to info@takeflight.org if you’re interested and are in or around Indiana).

Here’s a good article in the Indianapolis Star about falconry, featuring Mark. It even includes video. Damn cool.

Uncategorized

XML Pretty Printing in Mozilla

Among its new features, Mozilla 1.2.1 now does “pretty printing” on files served up as text/xml, much like IE has done by default for a while now. Good deal.

So if you have an unstyled XML file, instead of displaying a huge block of text in the browser window so you have to view source to see the XML itself, it displays the XML itself, nicely formatted for easy reading. Even has a collapsing/expanding document tree.

Doesn’t work for files served as application/rss+xml, though. So far as I can tell, just text/xml (not that I’ve done extensive testing). ‘Sokay.

And oh yes, if you downloaded Mozilla 1.2, be sure to get 1.2.1, which fixes a DHTML bug.

Uncategorized

Taking a break.

I don’t know how people do it.

I’ve always been a pretty busy guy. Nothing compared to certain people, but it still hasn’t always been easy. When I got married, I gave up being a full-time student while holding a full-time job, since I realized that the lack of sleep was making me a rather unpleasant personoutright frelling jerk. I needed to be able to devote time to Kiara.

Now I’m a dad. Wow. That takes some time and energy, both of which I’m sure will seem even more precious once I return to work on Monday after three weeks off. I’ve got to get my “spend countless hours just staring at Owen” in. So something’s gotta go, and for now it’s gonna be this blog. No, it’s not like it’s taken a lot of my time, but still.

I’ve been fortunate in that almost all the jobs that I’ve held for the last decade or so were closely aligned with my passions. When I was completely obsessed with the world of specialty coffee, I worked as a barista, then a coffee roaster. Awesome. When I wasn’t working, I was almost certainly in a coffeehouse somewhere, or wishing that I were.

Now, again, I get paid to do exactly the same thing I do in my spare time: work on the web. How cool is that. Of course, it means the line between work and not-work is blurred quite a bit. When asked recently to outline how I spend my time at work, I listed almost no time at all for research and development because I do that almost exclusively off-hours. And I still don’t feel like I can keep up.

I’ve just taken a look at my long-backed-up stack of reading, and I really need to tackle some of that. There’s a whole season of Bablyon 5 on DVD to watch. There are little coding projects that I’d like to get back to. I’ve got to get some sleep for once in my life.

And of course, there’s the kid. The real motivation. So while I spend some time figuriing out a new balance, I think I’ll refrain from writing here. Otherwise my posts are going to sound even more inane than they have lately. Hopefully when I return — could be a few weeks, could be a couple months — I’ll have a fresh focus.

Take it easy.

« Prev - Next »