Categories
Burningbird

Some you keep, some you don’t

One of the benefits to manually going through old weblog postings and other articles—to see which to keep and which to 410—is re-reading old work. When you haven’t looked at the material in several years, reading your old stuff is like reading something someone else wrote.

It’s surprising what you can learn about yourself when you read your old writings. For instance, among my older works, some of it is still good, even among the technical work, which typically has a short shelf life. All of the keepers are being moved to RealTech.

Most of the Missouri-related writings are decent, and I’ve managed to stuff MissouriGreen with both photos and stories about places I’ve been. Other of my work, such as reviews of books, and readings of poetry are timeless, and they’ve gone to Just Shelley; same with my movie reviews, which have gone to Secret of Signals. Too much of my old stuff, though, is just plain dated, with inside jokes even I can no longer remember. We all took ourselves way too seriously at one time.

The work I’ve enjoyed re-reading the most, though, is what I call “writing just to write”. I haven’t done enough of this type of writing in the last several years. Too busy fussing about things that, when you look back, don’t make no matter, as my grandmother would say.

Now that I’ve got my site where I want it to be, hopefully I’ll have more time for “writing just to write”. Now that I’ve also seen what a silly ass I’ve been in the past, I’ll spend less time on the “don’t make no matter”.

In the meantime, I’m pulling a few of the older stories out, and pushing them in front of you, one more time. Maybe you’ll like them. Maybe you won’t. If you do like them, good. If you don’t, well, it don’t make no matter.

Categories
Books HTML5 Writing

Summer roads

I did continue with my effort on the HTML WG, but I no longer feel either comfortable or welcome in the email list, so not sure what I’ll be doing with HTML 5 from this point.

Chances are, I’ll just focus on preparing a couple of Formal Objections, which don’t require any email communication, other than posting a link. I hate pulling out, as I am concerned about the lack of diversity among those making the decisions about HTML5. I’m still concerned, because there is little diversity, and even less empathy, but I’m a chorus of one: it’s not fun to fight battles when no one is covering your back.

On to other things…

I have a new book contract with O’Reilly. I’ll have more on the subject and title at a later time. Both I and my editor, Simon St. Laurent, think it will be a kick ass book. It really has a great table of contents.

I’m still working on my own self-publishing book, but more slowly, to free up time for the O’Reilly book. I also have an article to write for a popular web design site, which I hope to get finished in a few weeks. All this on top of the work I’m still doing at this site, and my books site. Freeing up time is a silver lining for decreasing HTML5 involvement–though Formal Objections can take a considerable amount of time to create. Less time, though, then reading emails about how mean I am to the HTML 5 guys.

I am a bad, bad girl.

To US folks, Happy 4th of July. To everyone else, Happy 4th of July. Maybe some new photos over at MissouriGreen for you all later.

Categories
Just Shelley

Car Story

Car repair is not a linear progression, with incidents sweetly spaced so as to remind us, gently, that nothing lasts forever.

It is an aggregation of aggravation, where one failure begets another, in clumps timed to crest when your wallet is flattest. Unlike that twinge in our side, or that odd pressure in our chests, we can’t ignore the symptoms of pending failure when it is our cars that get sick. No matter how hollow the piggy bank, we can’t disregard that tick, that bang, that odd noise coming from the wheel, or the window that will not raise.

The window that will not raise…once upon a time, before we got clever, whether a window would raise or lower was a cooperative effort between us and car: the car door window would exist, and we would apply our muscle to crank the window up or down.

Now, we’ve shifted all the burden to the car, and expect it to do our bidding when we flick a button. Handy when we’re driving along and need more air; less so when you click the button and nothing happens. Worse, when nothing happens after the window is already down.

Then we’re ripping plastic bag and holding sticky, grimy duct tape—to cover this hole that seemed so small yesterday, but is a veritable cavern mouth today. One puff of wind and the car is suddenly transformed into a Victorian street harlot, pocked with boils.

Cars. Cars free us. Cars take us places. They keep us dry in storms, cool in summer and warm in winter. They help us to get to seaside and forest, to work and home.

They also attach themselves to our bank accounts, like a leech to a vein.

Cars. We wear them down, and they wear us down, in return.

Carefully balanced pile of rocks

Categories
Just Shelley

Car repair

Car repair is not a linear progression, with incidents sweetly spaced so as to remind us, gently, that nothing lasts forever.

It is an aggregation of aggravation, where one failure begets another, in clumps timed to crest when your wallet is flattest. Unlike that twinge in our side, or that odd pressure in our chests, we can’t ignore the symptoms of pending failure when it is our cars that get sick. No matter how hollow the piggy bank, we can’t disregard that tick, that bang, that odd noise coming from the wheel, or the window that will not raise.

The window that will not raise…once upon a time, before we got clever, whether a window would raise or lower was a cooperative effort between us and car: the car door window would exist, and we would apply our muscle to crank the window up or down.

Now, we’ve shifted all the burden to the car, and expect it to do our bidding when we flick a button. Handy when we’re driving along and need more air; less so when you click the button and nothing happens. Worse, when nothing happens after the window is already down.

Then we’re ripping plastic bag and holding sticky, grimy duct tape—to cover this hole that seemed so small yesterday, but is a veritable cavern mouth today. One puff of wind and the car is suddenly transformed into a Victorian street harlot, pocked with boils.

Cars. Cars free us. Cars take us places. They keep us dry in storms, cool in summer, warm in winter. They help us to get to seaside and forest, work and home.

They also attach themselves to our bank accounts, like a leech to a vein.

Cars. We wear them down, and they wear us down, in return.

Categories
Burningbird Technology Web

A major site redesign

I’ve finished the re-organization of my web site, though I have odds and ends to finish up. I still have two major changes featuring SVG and RDFa that I need to incorporate, but the structure and web site designs are finished.

Thanks to Drupal’s non-aggressive use of .htaccess, I’ve been able to create a top-level Drupal installation to act as “feeder” to all of the sub-sites. I tried this once before with WordPress, but the .htaccess entries necessary for that CMS made it impossible to have the sub-sites, much less static pages in sub-directories.

Rather than use Planet or Venus software to aggregate feed entries for all of my sites, I’m manually creating an excerpt describing a new entry, and posting it at Burningbird, with a link back to the full article. I also keep a listing of the last few months stories for each sub-site in the sidebar, in addition to random display of images.

There is no longer any commenting directly on a story. One of the drawbacks with XHTML and an unforgiving browser such as Firefox, is that a small error is enough to render the page useless. I incorporate Drupal modules to protect comments, but I also allow people to enter in some markup. This combination handles most of the accidentally bad markup, but not all. And it doesn’t protect against those determined to inject invalid markup. The only way to eliminate all problems is not allow any markup, which I find to be too restrictive.

Comments are, however, supported at the Burningbird main site. To allow for discussion on a story, I’ve embedded a link in every story that leads back to the topmost Burningbird entry, where people can comment. Now, in those infrequent times when a comment causes a problem with a page, the story is still accessible. And there is a single Comment RSS feed that now encompasses all site comments.

The approach may not be ideal, but commentary is now splintered across weblog, twitter, and what not anyway—what’s another link among friends?

I call my web site design “Silhouette” and will release it as a Drupal theme as soon as it’s fully tested. It’s a very simple two column design, with sidebar column either to the right (standard) or easily adjusted to fall to the right. It’s an accessible design, with only the top navigation bar coming between the top of the page and the first story. It is valid markup, as is, with the XHTML+RDFa Doctype, because I’ve embedded RDFa into the design. It is not valid, however, when you also add SVG silhouettes, as I do with all but the top most site.

The design is also valid XHTML 5.0, except for a hard coded meta element that was added to Drupal because of security issues. I don’t serve the pages up as HTML 5, though, because the RDFa Doctype triggers certain behaviors in RDFa tools. I’m also not using any of the new HTML 5 structural elements.

The site design is plain, but it suits me and that’s what matters. The content is legible and easy to locate, and navigate, and that’s my second criteria. I will be adding some accessibility improvements in the next few months, but they won’t impact on the overall design.

What differs between all of the sites is the header graphic, and the SVG silhouettes, which I changed to suit the topic or mood of the site. The silhouettes were a lot of fun, but they aren’t essential, and you won’t be able to see them if you use a browser that doesn’t support SVG inline. Which means you IE users will need to use another browser to see the images.

I also incorporate some new CSS features, including some subtle use of text-shadows with headers (to add richness to the stark use of black text on pastel graphics) and background-color: rgba functionality for semi-transparent backgrounds. The effects are not viewable by browsers that don’t yet support these newer CSS styles, but loss of functionality does not impact access to the material.

Now, for some implementation basics:

  • *I manually reviewed all my old stories (from the last 8 years), and added 410 status codes for those I decided to permanently remove.
  • For the older stories I kept, I fixed up the markup and links, and added them as new Drupal entries in the appropriate sub-site. I changed the dates to match the older entries, and then added a redirect between the old URL and the new.
  • By using one design for all of the sites, when I make a change for one, it’s a snap to make the change for all. The only thing that differs is the inline SVG in the page.tpl.php page, and the background.png image used for the header bar.
  • I use the same set of Drupal modules at all sub-sites, which again makes it very easy to make updates. I can update all of my 7 Drupal sites (including my restricted access book site), with a new Drupal release in less than ten minutes.
  • I use the Drupal Aggregator module to aggregate site entries in the Burningbird sidebar.
  • I manually created menu entries for the sub-site major topic entries in Burningbird. I also created views to display terms and stories by vocabulary, which I use in all of my sub-sites.
  • The site design incorporates a footer that expands the Primary navigation menu to show the secondary topic entries. I’ve also added back in a monthly archive, as well as recent writings links, to enable easier access of site contents.

The expanded primary menu footer was simple, using Drupal’s API:


<?php
$tree = menu_tree_all_data('primary-links');
print menu_tree_output($tree);
?>

To implement the “Comment on this story” link for each story, I installed the Content Construction Kit (CCK), with the additional link module, and expanded the story content type to add the new “comment on this story” field. When I add the entry, I type in the URL for the comment post at Burningbird, which automatically gets linked in with the text “Comment on this story” as the title.

I manually manage the link from the Burningbird site to the sub-site writing, both because the text and circumstance of the link differs, and the CCK field isn’t included as part of the feed. I may play around with automating this process, but I don’t plan on writing entries so frequently that I find this workflow to be a burden.

The images were tricky. I have implemented both the piclens and mediaRSS Drupal Modules, and if you access any of my image galleries with an application such as Cooliris, you’ll get that wonderful image management capability. (I wish more people would use this functionality for their image libraries.)

I also display sub-site specific random images within the sub-site sidebars, but I wanted the additional capability to display random images from across all of the sites in the topmost Burningbird sidebar.

To get this cross-site functionality, I installed Gallery2 at http://burningbird.net/gallery2, and synced it with the images from all of my sub-sites. I then installed the Gallery2 Drupal module at Burningbird (which you can view directly) and used Gallery2 plug-ins to provide random images within the Drupal sidebar blocks.

Drupal prevented direct access from Gallery2 to the image directories, but it was a simple matter to just copy the images and do a bulk upload. When I add a new image, I’ll just pull the image directly from the Drupal Gallery page using Gallery2’s image extraction functionality. Again, I don’t add so many images that I find this workflow to be onerous, but if others have implemented a different approach, I’d enjoy hearing of alternatives.

One problem that arose is that none of the Gallery2 themes is XHTML compliant because of HTML entity use. All I can say is: folks, please stop using &nbsp;. Use &#160; instead, if you’re really, really generating XHTML, not just HTML pretending to be XHTML.

To fix the non-compliant XHTML problem, I copied a version of my site to a separate theme, and just removed the PHP that serves the page up as XHTML for XHTML-capable browsers from this “Silhouette for HTML” theme. The Gallery2 Drupal modules allow you to specify a different theme for the Gallery2 pages, and I use the new HTMLated theme for the Gallery2 pages. I use my XHTML compliant theme for the rest of the site. Over time, I can probably add conditional tests to my main theme to test for the presence of Gallery blocks, but what I have is simple and works for now.

Lastly, I redirected the old Planet/Venus based feed locations to the Burningbird feed. You can still access full feeds from all of my sub-sites, and get full entries for all but the larger stories and books, but the entries at Burningbird will be excerpts, except for Burningbird-only posts. Speaking of which, all of my smaller status updates, and general chit-chat will be made directly at Burningbird—I’m leaving the sub-sites for longer, more in-depth, and “stand alone” writings.

As I mentioned earlier, I still have some work with SVG and RDFa to finish before I’m completely done with the redesign. I also have some additional tweaks to make with the existing infrastructure. For instance, I have custom 404403, and 410 error pages, but Drupal overrides the 403 and 404 pages. You can redirect the error handling to specific pages, but not to static pages, only to pages within the Drupal system. However, I’m not too worried about this issue, as I’m finding that there’s typically a Drupal module for any problem, just waiting to be discovered.

I know I must come across as a Drupal fangirl in this writing, but after using the application for over a year, and especially after this site redesign, I have found that no other piece of software matches my needs so well as Drupal. It’s not perfect software—there is no such thing as perfect software—but it works for me.

* This process convinced me to switch fully from using Firefox to using Safari. It was so much more simple to fix pages with XHTML errors using Safari than with Firefox’s overly aggressive XHTML error handling.