So you want to edit/correct/clarify/retract that tweet?Éibhear, 2018-08-19 01:14:00 IST Some years ago I wrote a post proposing that Twitter could (should!) implement a retract button. I still think the proposal is valid and compelling. I recently listened to the great Techdirt podcast episode where Mike Masnick (@mmasnick) talks to Cathy Gellis (@cathygellis) and Parker Higgins (@xor) about "Old Tweets & Your Permanent Record"1, and it prompted me to think a little deeper about my initial proposal. The podcast discussion was inspired by Parker's2 post on how Twitter should allow users to hide their tweets (rather than deleting them). The context is that some famous Twitter users have recently got into trouble because their feeds have been searched for inappropriate tweets, which have then been used to cause them hassle in their professional lives ("She's a racist, the New York Times shouldn't hire her!" or "He promoted paedophilia, Disney should sack him!"). Without being able to cite specifics, I'm guessing that this context results in tweets being deleted. In some cases, I'm sure, whole accounts have been deleted. The result is messy: tweets having been removed from conversational or other contextual flows, links having been broken, conversations' continuities have been reduced, etc. Sometimes, it's more than just messy: as discussed in the podcast, people can delete whole bunches of tweets, and then regret it later because some were personally valuable, after which there's no going back3. I wonder if my proposal might help. Also, I've added some aspects to it that, perhaps, may make it more attractive. Correct, clarify, retract. Twitter4 should offer the ability to users to either correct, clarify or retract a tweet. Unfortunately, I'm not very good at mocking up screens, so I ask you to imagine what I describe. If you would like to volunteer some mock-ups, I'm at @email@example.com or @firstname.lastname@example.org and I would be very grateful for your help. In Twitter, an author's tweet comes with a menu (click on the shallow "v" at the top-right corner of the tweet) that allows you to perform a number of actions, including to delete the tweet. I suggest that there could be some other options, perhaps under a sub-menu with Edit as the name, offering Correct, Clarify and Retract as options. So, what will happen with these options? Upon selecting each of these, the author of the original tweet will be presented with the ability to reply to it, and will (if they wish, I guess) enter an explanation of what's happening. This could be a thread, if necessary. Once submitted, the interesting things happen: The original tweet will be updated in a prominent way with one of the following "The author has added a correction to this tweet." "The author has provided a clarification to this tweet" "The author has retracted this tweet" The explanation provided forever will be the first reply to the original tweet: users won't be able to say they couldn't find it. [Maybe: I haven't thought this one out fully] It won't be possible to reply to or retweet the original tweet. Where the original tweet was retweeted or embedded elsewhere, the fact that the tweet has been corrected, or clarified, or retracted will be made clear to the user. As mentioned in my previous post, all other users who engaged with the original tweet beforehand will receive a notification that this correction or clarification or retraction has happened. Some examples Correction Imagine some lumpen idiot who makes reference to @mmasnick in a tweet and then types out his name as "Mick", but doesn't noticing that until after it has been pointed out to him5. It would be nice to be able to add a correction to the tweet to say that it should have been "Mike" and for it to be prominent for anyone who comes along. ClarificationRemember that tweet you sent that made sense to you right up to the moment just after you submitted it, and then you started to doubt yourself? And then your doubts are confirmed by all the replies with "Wut?" and "Well, actually…"? To delete it, and then to send a clarification, presents the problem that all those replies are set afloat in a sea of noncontext, and then its hard for people to know what's happening. With my proposal, you could follow the original post with a clarification, which jumps out at you when you visit the original. Now other users understand the context of the full conversation. RetractionMy original point. Sometimes you say something that you really regret. Maybe you said something long in the past that now runs counter to your current opinion. The standard approach is to delete the tweet. I have never been convinced that this is the correct approach, however, especially for people who want to acknowledge that they were wrong with the original post. Having been in that situation myself, I understand the risk that a tweet that lives on could be taken out of context no matter how clear you are in your retraction. These tweets are the best fodder for those who want to destroy your employment or personal relationships, but to remove them completely is a regretful corruption of the historical record, and essentially denies it happened. But pretenting such a denial may very well back-fire. Why, though? I believe that deleting tweets is wrong. I won't try to convert anyone else to this view, but I would like help those who agree with me regarding what I say above to use alternative approaches – at least on a case-by-case basis. Essentially, to delete a tweet – especially one that others have engaged with – is not appropriate in all but a very small number of scenarios. People delete tweets to correct typos (Correction: this is the only reason I delete tweets from my personal account), to rephrase them (Clarification), to ensure that they are not used against them (Retraction) or because they are embarrassed by them (Deletion: in no way am I arguing that users shouldn't be permitted to delete tweets). For me only the last reason is compelling enough to delete a tweet, and even then I would recommend retraction instead. Have a read of The Intercept's A Note to Readers, in which it outlines how it found out that one of its staff members had been fabricating parts of stories he had written and were published on the site. Instead of removing the stories, The Intercept added "corrections and editor's notes" to them, even going so far as retracting one story in full. This, in my view, is the correct approach: the record remains intact but the follow-up that corrects or clarifies or retracts the original is prominently presented to all parties. In my scheme, Twitter will include the notice of correction, clarification or retraction with embeds and retweets (even historical retweets – a tweet from 5 years ago that was retracted last week should be obviously retracted to someone reviewing the retweeter's timeline now). Therefore, each reviewing user will be offered the chance to dig a tiny bit deeper into the context before deciding to rant, report, or call for a sacking. Yes, of course: screen grabs will always allow bad-faith actors to remove or deny context. However, if this proposal is implemented, then it will (should!) be clear that if there isn't a link to the original post accompanying screen grab, then the person presenting the screen grab may not have good-faith intentions. Finally, I think it's important that the users who have replied to the original, or retweeted it, receive a notification that the correction or clarification or retraction has happened. This offers those users the opportunity to pass information regarding that event on to their own followers, especially if they have tweeted something about the original that they feel needs a follow-up. The elusive edit-tweet feature Imagine the scenario: a seemingly nice person posts a tweet with "I love cats". As expected it gets loads of "likes"6. Then, some time later, that seemingly-nice person used Twitter's Edit Tweet feature to change it from "I love cats" to "I think fascism is great". Those loads of likes remain, and anyone viewing the list of people who liked the original post will see what they consider to be a list of fascists. This is why Twitter doesn't offer an Edit Tweet feature. However, many want to be able to make changes to tweets they have posted, and the only option to them is to delete it and re-post. My proposal offers a compelling alternative to pure editing of tweets, I believe. Footnotes: 1 Ampersand in the original. 2 There must be something up with me, and I don't think it's the new beer I'm drinking as I write this: I typed "Mr. Higgins'" and "Higgins'" and then decided that "Parker's" was probably the best approach as the others were too formal. I hope I'm right, and I wonder why I worry about these things 3 Parker does mention in his post that users can archive their tweets, and may be able to repost them somewhere else, but this could only ever be a part-solution, as conversations would still be broken 4 Yes. Yes. And the others, like GNU Social, Pleroma, Mastodon, etc. I will get to that in a subsequent post 5 His reply to my tweet about his podcast came in as I was typing this post 6 I still prefer "favourite", even though I don't even like that description With marginal knowledge comes marginal powerÉibhear, 2018-05-28 07:55:00 IST As a designer of back-end IT systems, I regard error management and error reporting as something to consider at the start, rather than at the end. Some years ago1, I designed a file-handing system, where we identified a little over 100 different error scenarios to manage. The system acted as a file-movement inferface between our internal system and an externally-hosted service. Between taking files off the end of one pipe and placing them onto another pipe, there was a need to perform rigourous integrity-checks on the files, and then specific transformations on the contents. Quite a number of potential points of failure arose, and if any one was to occur, we wanted to make sure we knew which one, so that the response from the support team would be appropriate. Management of error conditions was fairly easy. Depending on the error, we needed to know whether the user was to be informed (the user being the business admins of the service within the organisation, and the answer being "sometimes"), whether the support staff were to be informed ("always") and where to place the file (and its associated artefacts). Being clear to all concerned on what errors we were dealing with was the interesting challenge. As is normal, we devised a look-up file which would contain the following information on each potential error: A code uniquely identifying the error; A directive on what to do with the file when the error presented (record the error and continue processing the file, abort processing that file, abort processing of all files, etc.); A message describing the error, in english; A flag for whether to inform the user of the error; and A flag for whether to inform the IT Support department ("Y" in all the identified scenarios at this time, but potentially "N" for new, future errors to be managed). The code we developed would identify the error by its error code, and the look-up file would be used to determine the response. In the notification e-mail, the error is expressed using the human-language message, and not the internal error code. However, the log files recording the processing activity – for the sake of brevity – would record the error code, and not the english message. For what follows in this post, it's important to re-state the following: the notifications sent to the user and the IT Support department would not contain the error code, only the message. If, in designing the system, we have done our jobs properly, the e-mail notification should be sufficient to inform the reader of the specific error condition, and in the vast majority of cases, the appropriate response would naturally follow without further investigation. The population of log files was deemed prudent, though, in case something completely unexpected arises: but they should not need to be consulted except when all other options have been exhausted. As a help to those reviewing the log file, I determined that the error code itself should attempt to be readable. Therefore we devised a format that had two benefits: it would allow those reading the code to guess quickly what the nature of the error was, and also to allow for the easy addition of new codes should new error scenarios arise. The format is a little like: [IN|OUT]_<OBJ>_<ERROR> The first part says whether we're dealing with a file coming in to our internal system, or heading out from it; the second part says what the file type is (i.e. a payload file, or one of the accompanying integrity-affirming files); and the third the error has been triggered. Thus: IN_FILE_DECOMPRESSING tells us that there was an error decompressing the inbound file; IN_FILE_INVALID_SIG tells us that the cryptographic signature for the inbound file is invalid; OUT_FILE_LINE_COUNT declares that we could not determine the line-count of the outbound file we're processing and so on. Fast-forward to a few weeks before we go live, and we present our system-nearing-test-completion to some of the IT support staff. This is so that they are familiar with how the system was intended to work. Over a number of sessions, we presented the major features of the system, broken into the sessions on the business requirements implementation and the non-functional implementations. One of the latter sessions was on error handling. A comment during the session had me quite puzzled. One of the attendees decried the format of the error codes, claiming that there were too many elements to it. The expressed desire was that they didn't come with "simple" alpha-numeric codes that they could learn off. I hemmmmmed. I hawwwwed. I agreed that the comment was an interesting one. I also suggested that at this late stage in the project, going back to devise and implement such a scheme would be costly, and would introduce unacceptable risk to the project and its post-implementation support. But I would keep it in mind. And I did keep it in mind. I work hard to figure this one out for a long time. Eventually, I think I arrived at the core point. Consider this: Oracle DBAs are aware what an ORA-600 error2, or a ORA-12154 error3 are. Someone, somewhere (surely?!), knows what to do when the "Excel found unreadable content in…" error that MS Excel often throws up is presented. However, the users don't, and that's because they don't have access to the documentation that tells them what's going on. If our error codes were, in themselves, explicative as regards what the problem is or was, then the user (or, someone new to the support team!) might be overly empowered to resolve the matter him- or herself. Yes. So, we need the error subsystem to use an obscure coding so that those who respond often must learn the codes as part of their jobs as well as their meanings, but those who encounter them rarely must reference others for help. Also, wouldn't it be cool for two people to speak with each other using these arcane codes in front of a user not-so-familiar with them? I have a scheme that could be fool-proof: the ADICEC, pronounced "Adi-ssek". The "Arbitrarily-Devised, Intentionally Complex, Error Code" can be an attribute of the error, prepared purely for the IT department to maintain a separation from the user, building a false dependency between them. Here's how to build an ADICEC: It must be long. It must contain elements that are utterly pointless. For example: A client code (because you never know when the department head is going to attempt to "monetise" the system by selling it to others)4; An instance code (because you never know how many instances of this single-requirement-system there will be); A date-time stamp (because, we always want to know when these codes have been devised). Alternatively, you could use the change-tracker ticket id with which the error code was introduced… A product code (because … never mind) (Finally) a randomly-generated – but seemlingly-sequential – alphanumeric value, uniquely identifying the error, but bearing no reference at all to what the error is about. Now, don't be put off by this. We will continue to use a more accessible error code for exception handling in our source code. The ADICEC will be external to the source, and will only be used for the purpose of inflating a department's sense of importance. So much for K.I.S.S. Footnotes: 1 Many years ago! I now feel it's time to publish this story! 2 internal error 3 TNS alias look-up error 4 This was a system for a financial services organisation to meet it's specific requirements, and was never going to be sold as a product because of the uniqueness of those requirements. Voting with your conscienceÉibhear, 2018-05-21 08:38:00 IST The following is a reproduction of a tweet-storm I put up in October of 2017. I have edited it slightly to correct 1 typo, and to improve the flow. The phrase "voting with your conscience" is bullshit at the most basic level. It's intended to highlight how brave someone is by voting against a popular position due to some deep-seated moral concern with the consequences. It is particularly "heroic" when it's obvious that the vote will pass. Thing is, those who use the term do so to justify voting according to an instruction from some self-appointed authority who has no legal basis. "Voting with your conscience" sounds like a decision made after some deep, critical thinking, when it's almost always the direct opposite: it's voting with someone else's conscience. "Voting with conscience" justifies discrimination against women, the poor, the disabled, children, foreigners – particularly people of colour, and other minorities. "Voting with conscience" seeks to interfere with the private lives and personal relationships of people who seek little more than to live and love like everyone else. Unless your conscience tells you that we need to improve society to help those worse off than us; unless your conscience wants you to break the privileged authoritarianism of rich, white men; unless your conscience recognises that those who claim moral authority are sitting on a house of cards of their own making, you're more than likely voting without conscience. We're all supposed to vote with our conscience, though. That's what democracy's about. Isn't it? Proposal to link social media accounts to government-issued IDsÉibhear, 2018-04-18 20:34:00 IST I drafted and sent the following to the editor of the Irish Times on the 4th April, 2018. By today, the 18th, it hadn't been published, so I'm guessing it won't be. Here it is. If you're unfamiliar, the Public Services Card is an initiative of the Irish Government, and has been credibly accused of being a national ID card being introduced by stealth. The proposal I discuss below is another piece of evidence supporting that position. A Chara, Minister Jim Daly wants to tie our online identities to the Public Services Card. To progress this plan, he has written to the EU Commission asking for this to be EU policy, and has met with Facebook to get support for the measure. Leaving aside the clear violation of Article 8 of the EU Charter of Fundamental Rights, the proposal opens up a question that I rarely see discussed by those proposing such measures. Facebook, Twitter, Snapchat, etc. are not the only online social networking platforms. They're just the biggest. At the moment. There are, perhaps, thousands of such services around the world, each as easy to access as the other. For example, I run two similar services from a server in my home. Technically, they are not hard to set up, and as more and more come online, it can only become easier. Does Minister Daly's plan cover all social networking platforms? and has he a plan to meet with the operators of each? How does Minister Daly propose to require each service, no matter the country it is located in, to connect to the Public Services Card servers to validate a user's identity? Will the servers be able to manage such a load? Under such a regime, what controls will be in place to prevent bad actors from getting identity information on millions of Irish people, making it available for sale to the highest bidders? In the certain event that the vast majority of such social networking services will ignore Minister Daly's requirements, simply because they fall outside the country's jurisdiction, what measures has he prepared to deal with the large number of people from Ireland who will use those services rather than the services that will agree to perform surveillance for him? For as long as the internet has been in existence, there have been popular platforms that are the best at providing services, but they have never been the only such platforms. Over the same period of time we have seen many of these popular services supplanted by new-comers. Remember USENET and bulletin boards from the 1980s? Remember when Yahoo! and Jeeves were the best search engines? By forcing the current popular services to ignore Irish internet users' privacy, Mr. Daly will drive those users to other services out of his reach, ultimately destroying his plan. As we've seen recently, in the absence of such state-mandated spying, this is something that even the richest, and most technically savvy, commercial organisations struggle to balance. Mr. Daly, as with all other politicians seeking to control online behaviour, would do well to become familiar with the landscape and conduct proper research prior to making such proposals. Is mise, Éibhear Ó hAnluain, etc. Mention in today's Irishman's DiaryÉibhear, 2017-12-13 22:13:00 GMT It's probably too late for this posting to be of any value, but if you're here upon Frank McNally's suggestion in his Irishman's Diary column today, then the explanation he mentions is here. I have to say that I'm mad chuffed. Licence to copyÉibhear, 2017-10-20 22:24:00 IST Remember Arlo Guthrie's Alice's Restaurant Massacree? No? It's an near-19 minute song in which the protagonist tells the story of how he was arrested for littering. He and a friend brought a pile of rubbish to a dump, but it was closed for Thanksgiving, so they tossed it over a cliff. They were caught, convicted, fined and ordered to pick up the rubbish. Some time later, when he had been ordered to present himself for the draft (to the Vietnam War – remember that?), he did so, but attempted to get out of it, first by pretending to be unhealthy (he turned up hung-over), and then by pretending to be psychologically ill, resulting in him being praised. So he had to go through with the assessment. During an interview, he admitted having a conviction, so was required to fill out the form seeking the details. It turned out it disqualified him from joining the army, to "burn women, kids, houses and villages – after bein' a litterbug." The best part of the song for me has always been… … and everything was fine and I put down the pencil, and I turned over the piece of paper, and there, there on the other side, in the middle of the other side, away from everything else on the other side, in parentheses, capital letters, quotated, read the following words: ("KID, HAVE YOU REHABILITATED YOURSELF?") If you don't know it, or don't remember it, I think you really should give it a go. And, as Arlo himself says in the song, "but that's not what I came to tell you about." Every year in January we renew our television licence. Every year, I turn the page, and every year, there, there on that other side, in the middle of the other side, away from everything else of the other side, is the following: Kid! This licence does not authorise any infringement of copyright in the matter received. I laugh every time, and remember Alice's Restaurant Massacree. And then I laugh a little more at the thoughts that (a) someone thought it was necessary – or even a good idea – to put that message on the document, (b) someone thought it best to make it so sheepishly prominent and (c) someone thinks there is a concept of authorised infringement of copyright File names, and what you need to knowÉibhear, 2017-10-14 20:36:00 IST TL;DR If you work in any capacity with Microsoft Windows (especially if you're working in IT), you should always set Windows not to hide the extensions of filenames. Microsoft and Microsoft Windows has taught us some core facts about files over the years: All files have extensions to their names *.jpg, *.gif, *.xls, *.docx, etc. The extension of a filename tells you what the file is all about: *.jpg is an image file, *.gif is a short, funny, movie1 *.xls is an old-format Microsoft Excel file *.docx is a new-ish-format Microsoft Word file Because of facts 1. and 2. above, we don't need to see the filename extension when looking at lists of files, as we can trust Microsoft Windows' judgement as to what they are. All of these core facts are wrong. In the old DOS world the names of files were of the format <name>.<ext>, where <name> was limited to 8 alphanumeric characters and <ext> was limited to 3, and could not be omitted. This was just the DOS world, though. This format and the extension requirements were relaxed in Windows 95 (>20 years ago). It so happens, though, UNIX never forced file name formats like this. Nor did Apple's Macintosh operating systems. While extensions can be useful, it's not true to say that files require them nor, even, have them. The convention, for example, in the Linux world is for executable programs not to have filename extensions. If a filename has an extension, however, the only inference you can take from that is that the filename has an extension. Consider the following: A file was created in 2005 with Microsoft Word and was saved in the native format of that version, often identified as "Word 97-2003 Document (*.doc)". Let's say its name is AnnualAccountsReport2005.doc. In 2015, you upgrade the file to the latest Microsoft Word format by renaming it, changing the file's extension from .doc to .docx, resulting in it having the new name AnnualAccountsReport2005.docx. If we go by the rule that the extension tells us what's in the file, then this makes sense: we've changed the filename's extension, and because the extension tells us what's in the file, it must now be in the more modern Microsoft Word file format. Do it. What you'll see is that Microsoft Word will report an error when opening the renamed file, because the extension (the new one) doesn't match the format (the old one, which the file still uses as all you did was change the file's name). Now, because the first core fact is not true and the second core fact is not true, the third core fact isn't true either: hiding the extension of a filename is – it turns out – not a wise thing to do. Remember the love bug? I do. Also known as the "ILOVEYOU" computer virus, one of the reasons for its success is because of those core facts that I have just shown to be false. Most recipients of the e-mailed virus would have seen an attached file with the name LOVE-LETTER-FOR-YOU.txt, but its full name was LOVE-LETTER-FOR-YOU.txt.vbs. The .vbs was hidden because that's what Microsoft Windows does by default. By double-clicking on it, users thought it was a text file to be opened in something like NOTEPAD or WordPad, but what happened was that the file was opened as a runnable script, which then caused damage to the user's computer. Unfortunately, modern Linux desktop environments seem to work – unnecessarily – on this same model that the filename extension informs the system as to the file's contents, which then informs the system what tool to use to open it. Over the years I have encountered many software development issues that have been solved by prompting the developer to look inside the file rather than rely on the filename's extension. In fact, it's my firm opinion that all IT professionals should change their windowing environment's settings to force the showing of filename extensions. Footnotes: 1 No it's not, but I've no idea how this misunderstanding came about! Heros have it hard, y'know.Éibhear, 2017-05-17 22:37:00 IST I went on a business trip once to Utrecht in The Netherlands. Got the 0600 flight from Dublin, so was up at 0430. It was a long day of meetings: I was shattered when I got to the hotel restaurant for dinner at around 1830 (Dutch time; 1930 Dublin time). As I waited for my order, I picked up one of those small rolls of bread, and a butter knife. I began to cut through the bread with the knife. The butter knife. I continued cutting through the bread with the butter knife. I cut through the bread with the butter knife. But I forgot to stop cutting. It wasn't until I had caused myself grievous bodily harm (in the palm of my left hand) when I stopped cutting. With the butter knife. It wasn't all that painful at the time, and I had no other problem eating my dinner, going up to my room, and crashing until my phone woke me up the following morning. For the next 4 days, though, it was agony. Every flex of my left hand brought that horrible feeling that I was going to open the cut again. Now. Picture that fantasy movie or pseudo-historical TV series where the hero kneels in front of the shrine, raises his arms in supplication, and prays that if he prevails in the forth-coming trial/battle/ordeal, he will sacrifice a dove, or a bull, or his mother-in-law to the god right in front of him (or any other god who happens to be ear-wigging at the moment, for that matter). Then he pulls out his dirk and seals the deal with blood by slicing the palm of his (isn't it always) left hand, and letting it bleed on the alter. Finally, he takes out a grubby, probably-infection-ridden rag from his pocket and wraps it around his hand. He stands, smiles at his buddy, claps him on the back, and they head off to the nearest brothel for a just-in-case last shag. Picture him later in the show. Is he wincing because someone bumped on against his left hand? Does he run into trouble in the fight because he can't swap his sword to his other hand, to get a better reach at the careless and reckless enemy fighter? Hell, no. Well, I can tell you for sure that this is not how it would happen. He would be in pain the following day, and agony the day after. He would spend the whole fight nursing his left hand up by his chest for fear that he would have to use it. He'd die a gruesome death at the hand of a 13-year-old, drafted in to the enemy horde because all the able-bodied men are already dead. It would be a shameful death, but fair, because the gods despise idiots. At least he got that one-last-shag, though. When does the Grand Auld Sthretch in Dublin start?Éibhear, 2016-12-05 20:34:00 GMT Update December 2017 Correction 2. below from November 2017 is totally bogus. At this point in time, I don't know how, but will look into it when I get a chance. Anyway, I've reverted the change from before. Updates November 2017 I used the phrase "… and the nights will begin to get longer on the …" below, which is incorrect, of course. It's more correct to say that they're the evenings that will be getting longer on that day. I have made that correction. I was mistaken when I said that the earliest sunset will be on the 13th December every year. It so happens that it's the 13th only on leap years, and on other years, it's the 14th. This is also corrected below. It continues to confuse me how I got that wrong last year: it's the sort of thing I would confirm prior to making such a statement. In 2016, the winter solstice will fall on the 21st December. The moment of the solstice1 will be 10:43am in Dublin. The sun will rise in the morning at 8:38:24, and it will set in the afternoon at 16:08:08. This will give us 7 hours, 29 minutes and 44 seconds of daylight. As there will be 7 hours, 29 minutes and 48 seconds daylight on the 20th December, and 7 hours, 29 minutes and 47 seconds on the 22nd, we can be sure that the shortest day of the year is the day of the winter solstice, which will be the 21st December this year. OK. You've made your point. Haven't you? Actually, no. And this is the good news for those who are looking forward to the evenings to get longer: The day on which the sun will set earliest in Dublin in 2016 will be the 13th of December (at 16:06:08), and the evenings will begin to get longer on the 14th, when the sun sets at 16:06:10, two seconds later. Yup. The grand auld sthretch this year will begin in Dublin on the 14th December. In fact, you can put December 14th into your calendar for every year as the day the grand auld sthretch starts in Dublin. Explanation 1 When I launched the Grand Auld Sthretch Twitter account last year, I had a suspicion that something wasn't right with the story that the earliest sunset was on the same day as the winter solstice. Those who follow me on Google+, Social Gibiris or Twitter may recognise this: I often use this as a social media avatar2. It's a representation of the sunrises (blue line), sunsets (red) and amount of daylight (ehhm, yellow) throughout 2012. The x-axis are the days of 2012. The y-axis on the left has 00:00:01 at the top, and 23:59:59 at the bottom. The blue and red lines are associated with that one. The right-hand y-axis is the reverse of the left – with 00:00:01 at the bottom and 23:59:59 at the top – and the yellow line tracks it. If you look carefully, you'll see that the highest point of the red line (sunsets) is slightly earlier in the year than the lowest point of the yellow line (the amount of daylight). If the winter solstice is the shortest day of the year (which it is), then you'd think the earliest sunset will be on the same day, but it's not. I had known about this since I built the graph in late 20113, but I didn't dig deeply into it before I launched @theauldsthretch. So, a few weeks ago, I did some research. It's all about the "Solar Noon". The solar noon is the time of the day that the sun is at its highest point in the sky. It's no coincidence that the time difference between the sunrise and the solar noon is the same as that between the solar noon and the sunset. What is unexpected, though, is that the time of the solar noon is not constant. Here's that graph again, brought up-to-date for 2017 (and containing a little bit of 2018), with the daylight time removed and with the solar noon added. All three lines are tracking the left-hand axis. Looking carefully, you'll see that the solar noon wobbles. There's an astronomical reason it wobbles – which I'll get to later – but there's also a social (or "civil") reason. The civil reason is that if we insisted that the time the sun reaches its highest point in the sky was noon on all our watches and clocks, then either (a) the length of the day would not be a constant number of seconds (which it is, at 86,400), or (b) the length of a second would have to change on a daily basis. The solution, however, was to allow the time of the solar noon to change in relation to an otherwise constant civil clock. This is why the solar noon wobbles. Exaggerating the effect, here is how it wobbles: That mean value, as it happens, is 12:25:08. Looking at this graph, we see that the latest solar noon is in the first half of February (around the 10th), and the earliest solar noon is in early November (around the 3rd). Imagine the length of the day as constant, for example at 12 hours. The sunrise would be 6 hours before solar noon and sunset 6 hours after. In this case, the sunrise and sunset times throughout the year would be in tune with the solar noon. Like this: This next graph looks very similar to the first one for 2017 above, but it's not the same. Here is what the sunrises and sunsets would look like if the solar noon was constant (and in this case, we'll set it to 12:25:08, the mean solar noon for Dublin): Considering only the sunsets and joining this graph with the previous one we see the following: The first date I've marked is the 3rd November, which is when the solar noon is at its earliest time. In our contrived example above, of a constant day length, this is also when the sunset would be earliest. In reality, though, from this day on, the changing solar noon is just putting pressure on the sunset to be later every day. I've also marked the 21st December, which is when the sunset would be earliest if the solar noon was constant. In reality, as this day approaches, the shortening of the days puts pressure on the sunset to be earlier. The mark in between the two, the 13th December is when the two pressures meet, and when we get our earliest sunset: And this is why the earliest sunset is on the 13th of December, and the Grand Auld Sthretch starts on the 14th. Explanation 2 My explanation above considers the times of sunrises, sunsets and solar noons when presented in graph form. These graphs change when certain (incorrect) assumptions are applied. By demonstrating how these graphs change with these assumptions, I think I have shown why the earliest sunset is not on the winter solstice. Elsewhere, Larry Denenberg outlines an excellent alternative explanation in his essay Why aren't the earliest sunset and latest sunrise on the same day as the winter solstice?. The approach taken by Larry is to describe 3 phenomena of the earth: that it orbits the sun, that it rotates on its axis and that its axis is tilted compared to the plane of the ecliptic. All three of these phenomena are required to give us this situation. It's a beautiful explanation, and it took me a number of days to get it out of my head once I fully absorbed it. Footnotes: 1 i.e. the moment at which the sun will be directly over the most southerly latitude that it can be 2 When the W3C gives up on its reckless and ridiculous effort to allow DRM in HTML5, my Twitter avatar will be reset to the original! 3 Which I did to prove a point. I'm back on the market for work (Updated [2016-12-04 Sun])Éibhear, 2016-09-01 18:19:00 IST Update [2016-12-04 Sun]: I have a job. On [2016-11-23 Wed], I started with Version 1 as a Solutions Architect. Very exciting! Following an excellent year-and-a-half as a consultant solutions architect in AIG Europe in Dublin, I'm back on the hunt for a new job. If you're looking for a solutions architect with a keen focus on delivery quality, perhaps you might want to check out my Hire Me! page, or go directly to my CV. I will be available to start in a new position on the 26th September. My contact details are in both locations.