Categories
Political

My candidate has won

Summary:   At the end of my considerations, I couldn’t see the differences between Clinton and Obama. All I can see is the goodness in both. The hope each brings to this election. How desperately we need them, both of them. Whatever each has done in that past that I don’t like is not as important as what I believe they will do for us in the future. I thought to myself last night, “Which of all of the presidential candidates will best represent me in the next four years?” I then got a call from a state representative hawking McCain, and found my answer.

I spent the last week looking at differences between Clinton and Obama. I thought about what they’ve done in the past, what there was about each that I didn’t like. I focused on their weaknesses in an attempt to determine which deserved my vote.

During that same time, I received call after call from the Republican party about Huckabee, McCain, and Romney. In the end, I couldn’t “see” the differences between Obama and Clinton, because of the huge gaps between both of them and the Republican candidates.

The Republican candidates all emphasize their ‘strength’, and determination to fight terrorism. I look around the country today and frankly, terrorism is the least of my long list of concerns. Clinton and Obama, on the other hand, emphasize the issues that do worry me. More importantly, they talk of the people, as a whole, while the Republicans talk about groups: the Christians, the pro-lifers, the terrorists, other governments.

The Republican candidates promise change, but bring the same thing to this election that they brought to the last: keep the people focused on the differences between us, so that we’re blind to what’s happened in this country to all of us. All of the people. We the people.

We the people…words we’ve heard before. Words we don’t hear enough, now. Regardless of religious beliefs, region, country of our birth and our ancestry, sex or sexual preference, even income, we have forgotten in these last eight years that we are a people united by the same concerns and worries. What impacts any one group of us, impacts all of us.

One out of five of us doesn’t have health insurance. Both Clinton and Obama have promised universal health care, and though there are differences in the implementation, in the long run, both have promised to take the steps necessary to make this happen. None of the Republicans have even made this attempt.

Both Obama and Clinton have promised an end to the current state in Iraq, and though their methods are different, at least they have promised to take the first steps necessary to make this happen. None of the Republicans have even made this attempt. The opposite in fact: there isn’t a Republican candidate I trust not to do the same thing in Iran that we’ve done to Iraq. This thought terrifies me.

The Republicans talk of building a 2 billion dollar fence between us and Mexico, and I think what has happened to us that our biggest concern is placing barbed wire between some poor soul and a job picking apples for 8 dollars an hour? This, while we condone torture, indiscriminate wiretapping, and a bloated, useless agency that can’t even handle the natural disasters we do face every year?

Neither Obama nor Clinton have declared open war on corporations in this country, but each has said that the free ride corporations have had in the last eight years is over. On the other hand when the Republican candidates are asked about holding corporations responsible for their actions, they respond with assertions about how they are pro-life and have a belief in God, as well as promise to continue the fight against terrorism. The same fight against terrorism that led to companies like Blackwater thinking themselves above the law, both inside and outside our country. The same fight against terrorism that led us to invade a country, not because it was a threat but because it had oil. The same fight against terrorism that led to laws benefiting corporations at the expense of the environment, our privacy, and our rights under the constitution.

In eight years, the only “trickle down” I’ve seen of the economics practiced by the Republicans are the tears on the faces of those who have lost their jobs, their homes, and their hopes.

The Republican candidates point, with fear, to socialism. What about corporatalism? Why is it so much better to give to the corporations than to the people? How much more of our national soul will we give, so that corporations can reap obscene profits with little oversight?

What an election the Presidential election of 2008 will be. For the first time in history, we go into this presidential election with a candidate who is not a symbol of the ruling elite. Regardless of who wins the Democratic nomination–Obama or Clinton–his or her fight for the presidency will be long and difficult. Too difficult to start it with being disappointed because the candidate we have is not the other.

At the end of my considerations, I couldn’t see the differences between Clinton and Obama. All I can see is the goodness in both. The hope each brings to this election. How desperately we need them, both of them. Whatever each has done in that past that I don’t like is not as important as what I believe they will do for us in the future. I thought to myself last night, “Which of all of the presidential candidates will best represent me in the next four years?” I then got a call from a state representative hawking McCain, and found my answer.

Tomorrow, people will talk about the primary results and what they mean, and ask each other whether their candidate won. I’m lucky, because I don’t have to wait until tomorrow. I already know my candidate has won

Categories
Weblogging

A note on comments

Recovered from the Wayback Machine.

I noticed increased rumblings in Planet Intertwingly against anonymous commenters. I maintain a short lease on anyone commenting who doesn’t provide a real email address or who I don’t know, primarily because I don’t know if the person is putting an innocuous comment in to bypass ‘must have approved comment’ security for later spam. Other than that, though, I’m not adverse to anonymous comments.

I have, however, put all comments into moderation. I’m still attempting to make the comments XHTML-bullet proof, and ‘bad’ characters or markup in a comment breaks the page for everyone. With moderation, I can catch such breakage before it hits the published page. When I feel I have robust filters in place, I’ll turn open comments back on.

In addition, comments about spelling or grammatical errors, as well as those noting problems with the site technology, while appreciated and welcome, won’t be published. I consider comments of that nature more of a private note to me.

Yes, the SVG clock now reflects your time, not mine.

Categories
People RDF

Accidental friendships

Recovered from the Wayback Machine.

I tried out one of the applications for Google’s new Social Graph API. The application looks for XFN or a FOAF file connected to your weblog to see who you connect to, and who connects to you.

I don’t have XFN or a FOAF file. I did have one once, though, under my old URL, weblog.burningbird.net, so I tried that URL. No connections outward, of course, since I haven’t had a FOAF file for quite a while. There were, however, a few connections incoming. Just a few–alas, I am so friendless in this friend-saturated environment.

All but one of the incoming connections were from people I know well, though unlike stated in one connection, I’ve not physically met. The only unknown in the list was artisopensource.net. I have no idea who this is and I don’t necessarily recommend that you click the link, either.

The concept of some global space to pull together friends and colleagues does sound intriguing except that, as we’ve discussed in the past in regards to FOAF files, the linkage is one way. Unless both parties maintain a FOAF file and list each other equally, the one-way connection implies nothing.

However, taking this information out of this context removes the known FOAF caveat and we’re left with applications taking a connection at face value: I have physically met Phil, artisopensource.net is a ‘friend’. More importantly, as the years go by our ‘connections’ do change, yet we’ve long known that Google is unwilling to give up any ‘old’ data. I can imagine joining some new social network only to find out the network has sent an invite to be ‘friends’ with the woman who fired you, or the former boyfriend you went through a painful breakup with.

I think the idea of social networks consuming or producing a FOAF file so you can move your ‘social graph’ around from network to network is a good idea. Persisting such information in a centralized store where you have no control over the data does not strike me as …a major step in the development of what I’ve called “the Internet Operating System.” (And what’s with the eblog without the ‘w’ and why is Norm Walsh claiming to be me?)

From what I can see of the associated group forum, I am not the only person raising concerns about the application. (Hey Julian, hey Danny–why aren’t you my friends?) There’s surprisingly few messages in this group considering the fooflah this new application has generated in the buzz sheets. One message mentioned about utilizing this in their medical research, which reminded me that Google now wants to collect health information about all of us in the future, too.

FOAF Papa Dan Brickley and Danny Ayers both say this is the start of interesting times. I agree that there is something interesting about the first web-wide aggregation of semantically annotated data. My concerns are about the focus has been on the data and the functionality, with little consideration of the consequences.

I would also hate to think that the only semantic web possible is one controlled by Google, because it’s the only company with the resources necessary to aggregate all of the separate bits.

On a separate note: Hey! How about that Microsoft/Yahoo thing?

Categories
Burningbird Just Shelley

Tweaks and Flakes

Recovered from the Wayback Machine.

If you only read the weblog in your reader, you’re missing out on the newest tweaks. A little more color, a few more excuses to use SVG. I love that SVG. SVG and ImageMagick…um…um…good. SVG, ImageMagick, and RDF–there has to be something in there waiting to be discovered.

If you decide to check out the tweaks, make sure to refresh the page a couple of times.

We received 8 inches of snow yesterday. St. Louis is not a ‘snow’ city, so you can imagine that it’s slowed us all down. I went down to unbury my car, when I noticed a young man helping an older couple across the way. I grabbed my broom–I don’t have a shovel–and went to help.

Heartbreaking. The older man’s Lexus had slid down and hit rear fender with his wife’s relatively new Toyota. No matter what we could do, we’d only make it worse and he finally went in a called the tow truck to separate the two cars. Hopefully the damage will only need a little painting.

I don’t park on the hills, I’ve been dinged before by doing that. I parallel park on the flats, but of course, the snow plow has been through and what was 8 inches is now a wall about a foot and a half around the car. With just the broom I still managed to break down a path to the road, and hopefully tomorrow I can get to the Gardens to get some nice snow pictures.

I must confess that I love shoveling snow. I love wiping snow off the cars, and shoveling a path, and tromping through snow a foot deep. I always have. I don’t like ice, but I love the thick, white stuff that packs down nice.

Categories
XHTML/HTML

Adventures in XHTML

Recovered from the Wayback Machine.

During the recent light hearted discussions revolving around IE8 and its faithful companion, Wonder Tag, a second topic thread broke out about XHTML. As is typical whenever XHTML is brought up, the talk circles around to the draconian error handling or yellow screen of death when encountering even a small, harmless seeming discrepancy in a page’s markup.

However, the yellow screen of death is a factor of how Firefox deals with problems, not handling that’s inherent to serving XHTML as application/xhtml+xml. Safari’s error handling is much less extreme, attempting to render all of the ‘good’ markup up to the point where the ‘bad’ markup occurs.

Opera’s error handling is even more friendly. It provides the context of the error, which makes it the best tool for debugging a faulty XHTML page. You might say Opera is to XHTML, as Firebug is to JavaScript. The browser also provides an option to process the page as a more forgiving HTML.

To return to the discussion I linked earlier, in response to the mention of the draconian error handling, I wrote:

I can agree that the extreme error handling of the page can be intimidating, but it’s no different than a PHP page that’s broken, or a Java application that’s cracked, or any other product that hasn’t been put together right.

To which one of the commenters responded:

I don’t want to get off-topic either but I hear this nonsense a lot. You can’t simply compare a markup language with a programming language. They have very different intended authors (normal people versus programmers) and very different purposes.

I disagree. I believe you can compare a markup with a programming language. Both are based on technical specifications and both require an agent to process the text in a specific way to get a usable response. As with PHP or Java, you have to know how to arrange XHTML in order to get something useful. Because HTML has a more forgiving processor than the XHTML or PHP doesn’t make it less technical–just inherently more ‘loose’ for lack of a better term.

In my opinion, the commenter, Tino Zijdel, was in error on a second point, as well: markup isn’t specific to programmers. In fact, programmers are no better at markup than ‘normal’ people. Case in point is the error pages I’ve shown in this post.

As most of you are aware, I serve my pages up with the application/xhtml+xml MIME type. For those of you who have tried to access this site using IE, you’re also aware that I don’t use content negotiation, which tests to see if the browser is capable of processing XHTML and returns text/html if not.

Before yesterday, I still served up the WordPress administration pages as text/html, rather than application/xhtml+xml. Yesterday I threw the XHTML switch on the administration pages as well, and ended up with some interesting results. For instance, both plug-ins I use that have an options page had bad markup. In fact one, a very popular plug-in that publishes del.icio.us links into a post, had the following errors:

  • The ‘wrap’ class name wasn’t in quotes.
  • Five input fields were not properly terminated.
  • The script element didn’t have a CDATA wrapper.
  • Properties such as ‘disabled’ and ‘readonly’ were given as standalone values.
  • Two extraneous opening TR tags.
  • One non-terminated TR element.
  • Two terminating label elements without any starting tag.

For all of that, though, it didn’t take me more than about 15 minutes to fix the page, with a little help from Opera.

The WordPress administration pages work except for the Dashboard, where the version of jQuery that comes with WordPress didn’t seem to handle the Ajax calls to fill the page. I updated jQuery with the latest version, and the feed from the WordPress weblog shows, but not the other two items. At least, not with Firefox 3 or Safari, but all the content does show with Opera.

The Text Control plug-in had one minor XHTML error in the options page, but even when that was fixed, selecting a new text formatting option in the post doesn’t work–the selection goes back to the default. That one will end up being more challenging to fix, because I haven’t a clue what’s stopping the update.

WordPress does a decent job of generating proper XHTML content when using the default formatting. In fact the only problem I’ve had, other than when I embed SVG inline, was my own inaccurate use of markup. I used <code> elements, by themselves, when displaying block code. What I should have used is the <code> preceded by <pre>. When I do, the WordPress default formatting works without problems.

remove_filter('comment_text', 'wpautop', 30);
remove_filter('comment_text', 'wptexturize');
add_filter('comment_text', 'tc_comment');

My error, and the errors of the plug-in creators all demonstrate that though programmers might be more familiar with the consequences of making a mistake with technical text, we don’t make fewer mistakes than anyone else when it comes to using web page markup. Our only advantage is we’re not as intimidated by pages with errors. Regardless of how displayed or our relative technical expertise, though, these error messages aren’t necessarily a bad thing.

One of the advantages to serving the pages with application/xhtml+xml is that we catch mistakes before we serve the pages up to our readers. We definitely catch the mistakes before we release code that generates badly formed markup, or providing broken option pages to accompany our coded plug-ins. I can’t for the life of me understand why any programmer, web developer, or designer would want less than 100% accuracy from their web pages. That’s tantamount to saying, “Hire me. I write sloppy shit.”

Of course, being able to program can have advantages when working with XHTML, especially with many of today’s applications. WordPress does a good job at working in an XHTML environment, but not a great one. One example of where the application fails, badly, is in the Atom feed.

In Atom, WordPress outputs the HTML type as an attribute to many of the fields:

<summary type="<?php html_type_rss(); ?>">
<![CDATA[<?php the_excerpt_rss(); ?>]]></summary>
<?php if ( !get_option('rss_use_excerpt') ) : ?>

This is all well and good except for one thing: when the type is returned as ‘xhtml’, Atom feeds are supposed to use the following syntax for the content:

<summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
...</div></summary>

This is an outright error in how the Atom feed is coded in WordPress. I’ve had to correct this in my own feed, and then remember not to overwrite my copy of the code whenever there’s an update. What the code should be doing is testing the type, and then providing the wrapper accordingly.

A second issue with WordPress is more subtle, and has to do with that part of XML I don’t consider myself overly familiar with: character sets and encoding. As soon as I switched on XHTML at my old weblog, I started to have problems with certain characters in my comments, and had to adjust the WordPress comment processing to allow for UTF-8 encoding. As it is, I’m not sure that I’ve covered all the bases, though I haven’t had any re-occurrence of the initial problems.

However, during the XHTML discussion, Philip Taylor demonstrated another problem in the WP code, in this case sending through a couple of characters that the WP search function did not like.

I checked with one of my two XHTML experts, Jacques Distler (the other being Sam Ruby), and the characters were Unicode, specifically:

utf-8 0xEFBFBE = U+FFFE
utf-8 0xEFBFBF = U+FFFF 

From Jacques I found that Philip likes the U+FFFE and U+FFFF Unicode characters because they’re not part of the W3C’s recommended regular expression for filtering illegal characters.

Unfortunately, to protect against these characters in search as well as comments required code in more than one place, and in fact, having to hack into the back end of WordPress. This is not an option available to someone who isn’t a programmer. However, this example doesn’t demonstrate that you have to be coder to serve pages as XHTML–it demonstrates that applications such as WordPress have a ways to go before being technically, rather than just cosmetically, compliant with XHTML.

Having said that, I can almost hear the voices now: Why bother, they say. After all, no one uses XHTML, do they?

Why bother? Well, for one thing, XHTML served as XML provides a way to integrate other XML-based specifications into the page content, including in-line SVG, as well as MathML, and even RDF/XML if we’re so inclined. The point is, serving XHTML as XML provides an open platform on which to build. Otherwise, we’re dependent on committees to hash through what will or will not be allowed into a specification, based on one company or another’s agenda.

We can include SVG into a page using an object element, but we can’t integrate something like SVG and MathML together without the ability to include both inline. We certainly can’t incorporate SVG into the overall structure of the page–at least not easily using separate files. There is no room in an HTML implementation for all the other XML-based vocabularies, and we can only cram so much into class attributes before the entire infrastructure collapses.

No, we need both: an HTML implementation for those not ready to commit to an XML-based implementation, and XHTML for the rest of us.

During the recent discussions on IE8, several people asked Chris Wilson from Microsoft whether IE8 will support the application/xhtml+xml MIME type. So far, we’ve not had an answer. Whatever the company decides, though, XHTML is not going away. The HTML5 working draft, which was just released, is about a vocabulary, not a specific implementation of that vocabulary. Both HTML and XHTML implementations are covered in the document, though XHTML isn’t covered as fully because most of the aspects of processing XHTML are covered in other documents. At least, that’s what we’re being told.

What’s critical for the HTML5 effort is that browsers support both implementations. Even the smallest mobile device is not going to be so overburdened by the requirements that it can’t consume pages delivered up as proper XHTML. It’s a sure thing that handling clean markup takes less requirements than handling a mess.

I’d also hate to think we’re willing to trade well designed and constructed web sites for pages filled with missing TR end tags, poorly nested elements, and unquoted class names, just because Microsoft can’t commit to the spec, and Firefox took the “bailing out now!” approach to error handling.