Tuesday, 9 April 2013

Trackbacks died last night

I disabled trackbacks last night. Somewhat sad about it, but it seems to be all the rage. TypePad announced plans to disable trackbacks and WordPress may be soon to follow.

I've never been a fan of the trackback protocol. Last night I looked at great many voices--some I was re-reading having first seen them over 10 years ago!--talking about the weakness in Six Apart's Trackback specification and slow definition of a version 2.0 that would include some kind of authentication mechanism. There were quite a few 10 year old posts talking about the death of the trackback...then. It may have taken 10 years to finally die however.

For me trackbacks became a spam vector that grew into a management problem. I just didn't want to spend 5 minutes a day or 15 minutes at the end of the week purging the moderation queue when every. single. trackback. was just spam. It was tiresome. 

My platform has support for trackbacks, pingbacks, and comments, including comment and trackback throttling (throttling is the ability to reduce trackbacks from a single IP to manage volume). I never get pingbacks due to the low adoption of the specification on many platforms, but it is the HTTP "back link" protocol I liked the most.

Ian Hickson wrote extensively about the pros of pingbacks vs. cons of trackbacks in 2002. I've been a convert to the specification ever since. While there have been emotional arguments to saving trackbacks, as a developer and actual maintainer of a blogging platform, I'm not convinced by touch feely arguments about making new friends because of trackbacks. Sorry, but I'm not seeking friends in the spam community. And making friends is not a specification that can be defined, so let's keep the death of the trackback moderately scientific in nature.

My appreciation of the pingback specification is not because it has the authentication that is missing from trackback, both don't seem to have any defined support. My appreciation is about the simplicity: it's just HTTP. There's no auto discovery necessary, no IDs, etc. Pingback just used good old HTTP and HTML metadata. And yet, while I have pingbacks on and trackbacks off, I don't expect a flood of the former. The specification kind of took off in 2002-2003 but fizzled in support.

Alas, this is all moot: with TypePad removing support, Blogger never really making it easy to support, and WordPress considering dropping support...2013 might be the year that the Trackback really died. Pingbacks may quietly follow.

Posted by caffeinated at 12:21 PM in experimental madness

Friday, 25 December 2009

The "maven-spike" is live

I migrated ACD to the blojsom 3.5 "maven-spike" yesterday.

"Eating the dog food," as is said in the halls of open source development. It went generally flawless save some issues with the PostgreSQL backend configuration that was not blojsom related as much as my fast fingers.
Posted by caffeinated at 4:41 PM in experimental madness

Tuesday, 15 April 2008

Comments down?

I hate finding out comments on ACD are down. Again. From another blogger. In his comments. On another blog. Argh.

This is me debugging them. Move along.

Posted by caffeinated at 8:02 PM in experimental madness

Tuesday, 20 November 2007

Better Hanging Indents in CSS

This is a post I have been meaning to complete for a while: better Hanging Indents in CSS.

A big part of my day job—well, less of it now, but just a short time ago, a big part of my day job—is to take marketing creative and bust it down into HTML (4.01), get it into our source code control (CVS), and integrate it with our backend (JSP/Struts).

The latter two are practiced, scripted processes, but the HTML part is still a hand-crafted element and something that I enjoy a lot. The creative will always contain legal footnotes in “mice type” and referenced with various asterisks, daggers, and markers. Many times, depending on the mood of the graphic artist, these markers will be set in a “hanging indent.”

What exactly is a hanging indent, for the uninitiated?

It is a typographic construct that serves to eliminate any visual interruption of the text alignment. Here is a visual aid:

What is hanging punctuation?

The ubiquitous method found doing a Google search will be: use a negative text-indent, e.g., text-indent: -.7em;. This method works, but has some visual problems when the markers are doubled-up, or are not the same em width, etc. Another visual aid:

Using text-indent for hanging punctuation

This alignment problem using text-indent has always put me off, so let me get to the point: there is a better way to do a hanging indent that works across most modern browsers (“The A-Grade”) without weird ordered, or unordered, lists, background markers, and “class explosion.”

The Code

  #ft p {
      position: relative;
  }
		
  #ft a {
      position: absolute;
      top: 0;
      left: -2em;
      display: block;
      width: 1.5em;
      text-align: right;
  }

The How and Why

Disclaimer: The vast assumption here is that the CSS constructs being used apply to your code. If not, apply as apropos to your code.

The #ft element contains the footnotes (“legalese”) in child p elements. Setting the position:relative of the paragraph prepares child elements for absolute positioning, that is relative (hence the term), to the parent.

The next block does the work. Here, the use of an a element is semantic and intended to allow the developer a way to link the body reference to the footnote. You can use any inline element desired though. Using position:absolute removes the element from the document flow and positions relative to the p element. Setting the left property to a negative em value pulls it out of the p box.

The display:block prepares the element width and text alignment properties. Setting the width is important. The width of the positioned element allows for the right edge alignment of the markers.

Nothing is better than examples to study. The first, using text-indent, and the second, using this new (?), better (?), and more visually appealing (?) method.

Decide for yourself. Comments welcome! ~o)

Posted by caffeinated at 4:56 PM in experimental madness

Saturday, 4 August 2007

Flock 0.9x test

I follow the development of Flock from time-to-time. Updating as major releases become available. Playing with the interface, toying around with posting here, etc.

Some notes on preparing and writing this post:

  1. Adding a link means spec'ing the full URL (or is it URI?), e.g, http://www.flock.com. "flock.com" or "www.flock.com" don't work.
  2. Adding a blog, at least a MetaWeblog API capable blog service, means each category shows up as a separate blog. Seems I read that somewhere, might be a limitation of MetaWeblog API, or just a misunderstanding by Flock. Not sure, but it's odd interface to work with when mentally I don't organize my blog this way.
  3. The HTML could be better... no <p> tags, at least in the source view. Editor note: After posting it seems that not only are there no <p> elements, there are no break tags either. The first view of this post was one CLOB (Character Large Object for you minor geeks).

The real test is what this looks like once I hit post... Tada.

Posted by caffeinated at 9:56 AM in experimental madness

Sunday, 17 June 2007

Testing MarsEdit

Looking for a good blogging tool.

I like the admin interface for blojsom, but I would like less web-based tool.

This is a test post from MarsEdit.

Posted by caffeinated at 10:58 AM in experimental madness

Sunday, 20 May 2007

moblog

a704e6cb6be84d92d3bcf88edcbfc7af.jpg

Posted at 10:51 AM in experimental madness

Wednesday, 16 May 2007

Configuration hell

Move along

Posted by caffeinated at 8:40 PM in experimental madness

Monday, 12 March 2007

YUI madness

I love the YUI libraries.

My coworker and I have been introducing it at work for one thing and another. And I have been using it on projects in the moonlight, as they might say.

So when I stumbled on a bug in the new DataTable component (in beta), I was glad to submit a defect report and patch. The problem:

The YAHOO.widget.Column.formatDate function used date.getMonth() unmodified. Meaning that passed a date formatted string, i.e., "March 11, 2007", date.getMonth() returns "2" for "March". The API documentation for ECMAScript, or JavaScript, states that getMonth will return a number between 0 (January) and 11 (December).

Date strings passed to the DataTable Column would result in formatted dates that were nonsensical ("00/01/2000") or a month off.

The bug, and patch files, are available at the YUI SourceForge site.

Posted by caffeinated at 7:49 PM in experimental madness

Saturday, 17 February 2007

Back, and still running.

No hiccups, upgrade went flawlessly.

I primarily wanted to get the old editor back in the admin console. TinyMCE just didn't work out for me the way I hoped. Held a lot of promise, but I need to be able to escape from the editor at times, especially when massaging post meta-data.

Posted by caffeinated at 10:00 PM in experimental madness