Categories
Stuff

Mindless spot on eternal lack of sunshine

Recovered from the Wayback Machine.

I am not one to do movie reviews. I rarely write on a movie I see, and when I do, it’s usually favorably. But I feel compelled to write about Eternal Sunshine of the Spotless Mind, primarily because I disliked this movie so much.

I found my reaction to be somewhat disconcerting, too, because it seems to be such a universally beloved movie. I don’t think I’ve read one unfavorable review of this movie, either by webloggers, in comments at Amazon and other online sites, or by professional critics. However, I disliked the characters from the first five minutes, and my loathing for them only increased as the movie progressed.

This movie is “urban angst” taken to an almost pure artistic form. It’s like walking through a showing at an art gallery consisting primarily of photos taken of reflections from car door handles.

The premise behind the movie is that the lead characters are so shattered by their breakup that they have all memories of each other wiped out (or start to have them wiped out), so they won’t have to suffer the pain of loss. Yet the lead character, played by Jim Carrey, finds that he can’t let go of his former love (played by Kate Winslet), and tries to hide memories of her here and there, to protect them. The concept is extremly novel and the execution intelligent and creative. But it failed with me.

I’ve found through personal and difficult experience that the loss of love and the bitter and hollow disappointment that can come from such, is a rich, and even beautiful experience, albeit best when viewed from a distance. It is just this loss of love, or love unmet that forms the inspiration for much of our art. I have a hard time understanding how a person would want to eliminate even one second of this experience, no matter how painful.

Of course, Carrey’s character finds this out as the erasure is taking place, and this begins the real journey featured in the movie. But by then, the necessary connection I felt you needed to have with his character before this journey takes place just wasn’t there, at least not for me. He irritated me. His girlfriend irritated me. Even the lady in the waiting room crying into her hankie irritated me.

The filming was clever and ingenious, but I sometimes think that this movie was a case of a director wanting to try different techniques, and then finding a story that would connect the dots, so to speak. Maybe if I had accepted it as such when I watched it, I would have at least appreciated the dots, if not the journey between them

Categories
Photography Places

Pink sapphires and diamonds

Yesterday was sunny and cold and I specifically headed out to a place that suited both conditions: The Castor Shut-Ins at the Amidon Conservation area.

In a book I read, the author mentioned how during cold weather the water around the rocks would freeze into crystalline formations, adding to the beauty of the place. It also mentioned about the road leading in being unpaved, so I know I needed a clear road with no snow.

The road wasn’t bad, mainly a gravel road with some steep hills. I wasn’t surprised to see that I was the only one traveling it, being a weekday and very chilly. When I got to the trail head, I couldn’t hear any water, which I thought odd considering the shut-ins supposedly weren’t far from the trail head. The trail itself was pleasant, a gentle walk through hills full of trees that have lost their leaves.

After about a quarter mile, though, as I turned around a corner, I could glimpse a patch of pink and could hear the water and started to hurry forward, only to step out into a scene that left me breathless.

What makes the Castor shut-ins so unique is that they’re the only pink granite shut-ins, not only in the state but I believe the world. You can imagine what it’s like, then, to walk through rusty reds and pale grays of Missouri winter forest only to come out on a scene of bright pink and rose boulders, crisscrossed with brilliant aqua blue water, spotted with feathery strands of pale green lichen, and white glittery ice — all framed by the rusts of the summer trees, with here and there, a lone evergreen.

“Oh my”, I said to myself, and repeated it over and over again as I dashed about the rocks, overwhelmed into incoherance.

It was like walking in a jewelers window heaped high with pink saphire necklaces, in among white diamond earrings and aquamarine broaches, and turquoise bracelets–with here and there a hint of beaten gold and copper. And I had it all to myself.

Unfortunately, the sun was behind the hill, casting dark shadows across the stream and the rocks and the ice, but i managed to grab some photos (though they do not do the scene credit and I will return to do the job properly).

The trail to and from the shut-ins is a one mile loop, made into two miles with all the explorations. I had my trusty walking stick, and being aware of the rivlets of ice that streamed across the rocks, I bounded about, around and on top of them, taking photos and sometimes stopping, just to experience the beauty. Of course, ‘bounding’ isn’t necessary the proper term, because I am hesitant at stepping over boulders, especially near sheer drops into cold water. Still, I was pleased that I didn’t back off from any of the paths I wanted to take. The beauty overcame this fear of falling I have seem to have developed during the summer–enough to get me out on the rocks, albeit very slowly at times.

But who would want to move about this place quickly? Who could possibly want to look for a few minutes and then want to move on without a backward glance or some hesitation? Do you touch velvet with a click flick of a finger; or do you run your hand slowly and softly along its nap? This was a velvet scene.

(“Oh this is a beautiful place. Look. Look. Photos. I must leave it now, quickly, and go home and weblog about it!”)

The trail away from the Shut-Ins was equally lovely, though I’m glad there were markers or I would have lost it among the rocks and the dead leaves. It was invigorating and just challenging enough to be fun, without being too strenuous. Best of all, even though I strained at times, I could hear no evidence of humanity — just the breeze through the trees and every once in a while, the call of a bird. Cardinals and bluejays; hawk and finch.

I had to stop along the way, not to catch my breath but to grab at my exhultation, which threatened to run away with me at times. I wanted to trip down the path, but with the half buried rocks, knew that was folly. Still when I got back to the parking lot after an afternoon spent in among the beauty of this short little hike, I turned my CD player on and put in the newest CD I burned and I danced about the parking lot, in joy at what was an almost perfect experience of sight and sound, touch and taste. And feel.

The birds must have thought me mad.

Categories
Technology Weblogging

Adapting Admin for extensibility

Recovered from the Wayback Machine.

Many of the earlier changes I’m making to WordPress will be behind the scenes, in the administration pages. In fact, when I finish these changes, I probably will release a copy of the product as it will then be sufficiently different enough from WordPress to have earned status as a separate product.

One change I started coding a few weeks back was to make the administration pages more adaptable. For instance, rather than hard coding the post and comment status into the administration page, I’m adding these as database values and building the options list dynamically. With this developers who want to add new statuses for each can do so with an update to the database, leaving the code untouched for future upgrades.

(The post status can be passed to blog header, for processing for preview, display, etc. The comments files will also handle different statuses, as I already do so in my current comments pages.)

In addition, the menus and submenus of WordPress are built from a file, and this again makes it so that those who create extensions either have to modify the file or using some kind of DHTML to add options. A more adaptable approach, which I’m building into Wordform is to load the menu options from the database, rather than from a file.

A third area of adaptability is to modify the buttons below the text for a post to add options for what can be done with this post. With this, when I wanted to post a full page preview of a post (using the same stylesheet as the weblog), I wouldn’t have had to hack the page — I could have just added an option into the database and the functionality as a plugin.

All this cuts into the space in the page. What I’m thinking, and looking for feedback on, is to drop the in-page preview, since I’m providing a fullpage preview. I’m also thinking of making slug and trackback that display below the post into buttons that open small windows for each and doing away with separate simple and advanced edit pages. (See diagram of specific changes.)

I had also considered making the category into an option to open in another window, similar to how Movable Type handles it. The category hierarchies don’t display well in the page, and cut into text edit space.

However, is all of this too many window openings? Should I leave the categories as is, but open windows for some (or all) of the others?

Categories
Technology

Out, damn’d open source! out, I say!

I have had an usual number of requests for files this last week. These are files that I’ve either accidentally removed during moves between tools; or deliberately removed because I need the space for new development.

Among files accidentally lost were ones for my post Stepping Stones to a Safer Blog, about how to make Movable Type safer against comment spam. I was surprised, because the technologies featured are older versions of what exists now, and wouldn’t be compatible — but people are still using older versions of the applications in question.

I looked for the files on my local machines, but unfortunately couldn’t find them. And chances are they were lost so long ago that my ISP wouldn’t have them. To be honest, I’m also a bit concerned about putting out such old versions, in case people mix old and new and completely break their sites.

I’ve also noticed in this time that I’m getting an enormous number of hits for all of my old comment spam postings. I found out why when Al Sessions sent sent a link to this post at Photo Dude’s and found out that the situation with MT comment spam is getting serious enough for ISPs to consider shutting down MT comments permanently for all hosted sites — or even forbidding Movable Type altogether.

So when Marius, responding to the recent problems with WordPress vulnerabilities, wrote the following:

The WordPress open source developers nailed their colors to the mast the other day. They think it’s a minor inconvenience that if you enter an erroneous URL, you make a site inaccessible. And anyone asked for urgent action to fix that was “freaking out”. [Big Pink Cookie][Shelley]

Dana Blankenhorn just dared identify the lack of documentation of open source projects as their Achilles heel. Just watch the apologists come out of the woodwork in the comments to that post.

Jonathon, can we move this Weblog to Movable Type (not to MSN Spaces), please.

(emph. mine)

…my first reaction was to write in comments, ‘Eh, you may want to hold on that at the moment.’

I think both Marius and Dana are providing a service to the open source community with their criticism. It has become the darling child that can do no wrong, and this adulation can lead to arrogance. However, in both cases the writers are focusing on one specific open source project and using this as a brush to tar most open source applications, and that’s not particularly fair. About as unfair as to paint all commercial proprietary source application development as greedy and insecure, based on past actions of one or two companies.

The issue is really less to do with the openness of the code than it has to do with the mindsets of the people involved — both user and developer.

For instance, let’s look at two popular weblogging tools: WordPress and Movable Type. WordPress is an example of a non-commercial open source weblogging application; while Movable Type represents the (mainly) commercial, proprietary side of things. Yet the developers from both applications have demonstrated the exact same difficulty in recent times, and that’s an unwillingness to adapt.

In WordPress,when faced with a vulnerability in the code in both WordPress 1.2.1 and 1.3a, the developers edited the lines that caused the initial more severe vulnerability. However, when it was demonstrated that even the edited version could lead to problems, they seem to be unwilling to adjust the code–or even respond to the concerns. Worse, they’ve downplayed the problem in addition to those who reported on it, and have refused to publicly document that the problem exists, and how people can fix it.

Sure enough, it was only a few days later that this ended up re-appearing in the support forum.

However, the Movable Type people have also demonstrated this same inability to adapt to problems, as they arise. When faced with the fact that TextDrive is considering dropping Movable Type from its servers because of problems with MT comments, Anil Dash from Six Apart responds in a comment about a new version of MT-Blacklist coming out, and how TypeKey prevents this problem.

Yet if he were to read what Jason at TextDrive was saying, he would realize that rather than helping, both of these solutions could add to the problem; because what’s happening is that the access to the file, mt-comment.cgi (or its renamed version), and the underlying construction of this file is what’s causing the problem — not the spam appearing in people’s comments.

Comment spammers are now hitting mt-comments.cgi several thousand times in a short period of time, using a variety of IP addresses in each. The mt-comments.cgi application file, modified by MT-Blacklist or not, is not handling this load effectively, and is leaving unterminated threads of excution (if I’m reading what Jason wrote correctly, and for want of a more non-tech friendly term): i.e. too many instances of mt-comments.cgi are left running.

Too many of these unterminated threads of execution, and you basically have no site left — these threads are the rarest resource on any given server.

This isn’t an issue of bandwidth, or IO access, or comments appearing in posts or the sanctity of people’s space being violated. Nor does this have to do with Google’s underlying Page Rank, and people having to delete too many viagra comments, using tools that don’t make this easy. This has to do with the server’s resources being overrun: all before TypeKey or mt-blacklist come into play. In fact, adding yet more fancy mechanisations to mt-blacklist, or more dependence on a central authority system is likely to increase the problems experienced by ISPs when it comes to MT systems; not decrease it.

In other words, the developers are not adapting.

(Of course, in the same thread, I found it ironic to read the representations of the WordPress legions, pointing out how a complex multi-SQL access spam terminator in WordPress would solve all a person’s problems; not realizing that if WordPress ever gets hit the way Movable Type is hit now, those fancy solutions are going to become strands of pure, naked, steel twisted about the weblog user’s throat. I agree with Jason et al — comment spam is going to require a system solution, not an application fix. )

So the problem isn’t open source or proprietary, as much as it is the developers keeping their minds open and not becoming so enamored over their own cleverness, that they literally cut off their nose to spite their own faces.

A good case in point of tools, open and proprietary source, demonstrating a willingness to adapt is can be seen with both Microsoft and Firefox. Yes, Microsoft and Firefox, two tools at the extreme opposite when it comes to the open nature of the code and the development process.

wrote recently about problems I had with having to re-install Windows 2000 on a machine, using a phone modem, and how something crawled in while I was downloading the 100M or so of fixes. I grumbled and bitched about Microsoft and its damn security problems. I had planned on continuing this discussion the next day, but got sidetracked when the Kitchen weblog was seemingly hacked.

What I wanted to make note of in the second posting was the fact that I was installing an operating system that was first developed close to eight years ago, using a four year old CD to do so. I wanted to point out how Microsoft is still supporting this operating system, after all this time–and how all my newer purchased goodies worked in this old OS.

Windows 2000 has been hit with a string of security problems, and the company has suffered from a general lack of confidence because of it. Yet rather than downplay this as a problem, the company made it easier to update a machine to meet each new break. I could have bought a CD with all the recent service pack and security updates for the cost of material and shipping. If I had broadband, it wouldn’t have taken more than an hour to download and install all the updates — a process made easier by the company providing that lovely little update program, which determines what fixes your site needs, and then lists them out for your single or group download.

Now I have a Windows 2000 machine, which sits with a little upgrade wizard in it that checks periodically at Microsoft and lets me know that there is a new fix I should think about installing. My machine works beautifully, even being an old machine using an old operating system. All because Microsoft has learned how to adapt.

It isn’t a case that the company makes perfect software, and always makes the correct decision when it comes to technical directions; it’s dropping ego when push comes to shove and making the best of a bad situation.

Now, let’s look at Firefox, the exact opposite of Windows 2000 in the proprietary/open source scale.

Firefox is not perfect software and I’ve experienced some glitches a time or two with it. It also seems to meet Dana’s concern about lack of documentation, though I think this will soon change (note to self — write more Firefox how-tos). But the tool is also one that has adapted to user’s needs, even when these needs seem to be small, and trivial.

An example is the fact that with the earlier Mozilla, extensions would require people placing code in specific directories. This doesn’t seem that complicated — download the code, unzip it, and move it to a specific location. However, it was found over time and painful experience that this was confusing for many users.

Rather than curse the users for being idiots, or find a fancier way for people to do this same task, the software developers adapted the tool to meet the user’s needs. They most likely did so at the cost of a slower release, and perhaps even leaving out some new features, which would have been ‘more fun’ to work on.

Like Microsoft’s software update, the developers created a ‘one-click’ method of installing extensions. Now if you want to use an extension, just click a link, do the install, restart your browser and it’s available. Not only that, but there’s a link that will take you to a place where you can look for more extensions; and another link that will check to see if there’s updated versions of the extensions you do have installed.

Both organizations have demonstrated the most important aspect of product development: there is more to a software application than the code.

There is no room in software development for either arrogance or an inability to adapt; with holding on to a way of doing things from pure stubbornness and pride. You shouldn’t even start a project if you can’t face the inevitable: that you will make mistakes. Developers, yes even ‘free’ source developers, owe their users respect, because users have placed in them their ultimate compliment: their trust. This respect then means the developers have to be able to admit when they’ve made a mistake, or pursued a wrong course.

However, users also have a responsibility in the development process, and should not see themselves as passive consumers of functionality; they should be encouraged, nay, expected, to participate in the development process. At a minimum, ‘bad things’ should not be kept from them, as if they are children who can’t deal with difficulty. And if the developers do publicly say, “We screwed up and here’s a solution”, the users have an obligation to meet the situation with grace rather than petty ire:

“These things happen, and thanks for letting us know and giving us a solution to fix the problem”, rather than, “You moronic developers and your buggy code!”

Documentation should be written at the same time as code, and the documenters given the same prominance as the developers. For instance, there is documentation of WordPress 1.3 available, but there’s no link to it at the WordPress site. The documentation text should be given as much respect as the application code, though this rarely happens. And when you send a note of thanks to the developers of a product, you might think about sending one to the documenter, as the only time documentation is mentioned with applications is when it’s missing, as Dana demonstrated.

In June I wrote:

Bluntly, the WordPress development crew is not happy with me because I’ve been pushing them pretty hard for the last month. What I’ve been saying is that software is only 50% code – the rest is documentation and infrastructure, quality testing, and communication. Particularly communication.

Oh, you don’t need these things if your code is used by hackers or a small group of friends. But if you want your application to be used by strangers who don’t code – you can’t force them into learning code to communicate, or having to beg pretty please in order not to piss off the development people.

I’ve gotten a lot of flack for my criticisms of past weblogging tools. I stand by these criticisms, every single one of them. I’m not, now, going to play ‘touch not the programmer’ just because the source code I’m now using is open source. If anything, I want the open source solution to work, so will be harder, not easier, on the team behind the product. Is this unfair? What’s fair? Not being critical because this just isn’t done in weblogging?

I’ve been told, “easy to criticize when you’re not the one behind the code”. So I’ve since forked WordPress and will put myself into that position, though I have been there with numerous jobs in the past. I guess we’ll see over time if I practice what I preach.

At the least, I can write code and take care of my own problems. What about those who can’t?


Out, damned spot! out, I say!–One: two: why,
then, ’tis time to do’t.–Hell is murky!–Fie, my
lord, fie! a soldier, and afeard? What need we
fear who knows it, when none can call our power to
account?–Yet who would have thought the old man
to have had so much blood in him.

Shakespeare’s Macbeth

The developers of WordPress just released 1.2.2 with the two lines of vulnerability deleted, and a brief word about it at the development weblog.

Matt, I want to say how much I really appreciate the courtesy and consideration extended me during this process. No, Seriously. I just hope that the other WordPress users are treated to same courtesy and consideration in their time.

Categories
Media Technology

Mars attacks

Version 1.0 of MarsEdit released last week , and Steven Spielberg and Tom Cruise celebrated by issuing the first trailer for the upcoming remake of the ultimate sci-fi classic, “War of the Worlds”.

I am not surprised that War of the Worlds is being re-made, and not terribly surprised that Spielberg is trying it. I am surprised at Tom Cruise being in it–not a person I would have picked for a movie such as this.

This is one of the most beloved movies among old sci-fi fans; if this gives Spielberg a built-in audience, it’s going to very critical one. Stay tuned…

As for MarsEdit, I’m actually using this new Mac OS X goodie with this post to see how it works. I like the live spellcheck feature, and it’s nice to know that if my internet connection dies, the post remains. The tool can integrate with popular Mac Text tools, such as BBEdit or TextMate, though it seems to do fine all by itself.

Wow, I really like that live spellchecking. Now, if it could only point out bad grammar.

Of course, the true test is: will it post to my weblog. It says it works with any MetaBlog API supporting tool, such as WordPress, so we’ll see.

Stay tuned…

Worked a treat, and fast, too. The only problem is that the post was future dated, so it didn’t show up right away. My system clock is set for Eastern time, while my weblog runs at Central. I can’t see a way to change this either. However, not that big a problem. It doesn’t look like I can add my notes, or category, and this is a small issue. Still, I like creating the post in MarsEdit, and then can manipulate the other information in the weblog tool.

It is, all in all, a very good weblog editor. Worth the fee. And I’m not even getting paid to say this–though I wouldn’t be adverse to a ticket to War of the Worlds when it comes out.

later…

Found the category.

MarsEdit closed comments by default, and wasn’t aware of it until now. However, this can be changed in options in the tool.

But that date and time problem is becoming a real showstopper.

update The timestamp isn’t a MarsEdit bug, but a bug in WordPress 1.2. It will most likely be fixed in WordPress 1.3.