RSS Feed Change (Again)
As described in the RSS Feed Change blog entry, I implemented a temporary fix as a first step toward fixing the GUIDs in the RSS feeds of this website. I later did some work on FeedPipe and realized that I had forgotten a design change!
GUIDs for articles and blog entries on this website are in
{link}#{timestamp}
format. In the rush of my initial
implementation, I forgot to add the timestamp, and the temporary fix
adds the timestamp only for articles and blog entries that have more
than one major revision. In the future, I will change the code to add
timestamps to all GUIDs. The design change is in the format of the
timestamp.
I had initially planned on formatting the GUID timestamp as a Unix time, and that is how I implemented the temporary fix for this website yesterday. When implementing it in FeedPipe, however, I realized that a more easily readable format is preferable. The point of Unix time is to encode time as a single number, which can be stored efficiently. It is generally not an appropriate format if that number is rendered in ASCII, as that defeats the purpose. Fortunately, I happened to see my FeedPipe implementation yesterday evening.
In the final implementation, GUID timestamps are in
%Y%m%d%H%M%S
format. The only downside is that a timestamp
is four characters longer than the Unix time implementation. I am not
worried about overflow issues, by the way. The year 2038
problem is only a problem on systems that store Unix times as
signed 32-bit integers.
I am pushing the change with this blog entry. I am sorry for the inconvenience that this causes to RSS feed subscribers.