Add .txt As the Extension of Your Readme file
i.liketightpants.net
i.liketightpants.net
Can someone explain why? Except for executables, all the files I use have extensions -- .jpg, .html, .png, .mp3, .sh, and so on. Why should text files be any different? "README" doesn't tell me if it's text, or markdown, or HTML, or anything. Having ".txt" lets me know the format without opening it first to see.
I just can't figure out why anyone would ever not put a ".txt" extension on a text file, when the entire consumer ecosystem of computing uses extensions to help automate actions more usefully.
Why are they badly designed? There are a huge amount of bright OS hackers in the world, and a huge amount of mindshare on the problem. When the culmination of all this effort continues to be hilarious[1], I can only conclude that the problem is less tractable than we expected.
And in fact, that is what the people who work on the problem say[2]: that it is not tractable.
[1] http://en.wikipedia.org/wiki/Bush_hid_the_facts
[2] http://blogs.msdn.com/b/oldnewthing/archive/2007/04/17/21583...
EDIT: I don't believe that the problem is tractable in a world where you need to maintain backwards compatibility; the solution then to me is ditch backwards compatibility. I almost always prefer elegant solutions to practical ones.
Backwards compatibility is a visible problem, but it isn't the True Problem with creatorcodes/metadata. The true problem is that a world with metadata is an unstable equilibrium, because what if just this once we get it wrong.
* Consider the case that the file's author got it wrong
* Consider the case of Python and RPython (or .js and .json, or .txt and .md) where a file can belong to multiple classes. Further consider the case where a system has a Python interpreter but not an RPython interpreter installed (or a JavaScript interpreter but not a JSON parser, or a text editor but not a MarkDown editor, or...)
* Consider the case where a document was saved with Excel 2013, but just happens to only use Excel 2010 features, because who really cares about whatever the heck they add in each new Office release
* Consider the case of a container format, like mkv or mp4, that does not alone completely describe the format of the data it contains
* Consider the case of sometimes-interchangable formats like m4a and m4b, mp4 and m4v, etc.
* Consider the difference between a storage format (.sqlite3) and the data that it contains (.localstorage, Firefox/Profiles/places.sqlite, ~/Library/Mail/V2/MailData/Envelope Index)
* Consider the case that that one day somebody just wants to make a "monkey-fighting file without filling out this monday-to-friday questionnaire" and either the "no really, it's a file" creator code is accepted by the International Body of Creator Codes, or it isn't and so there are five incompatible implementations.
As soon as you tolerate any of these (and probably the list is a lot longer than this), we are right back where we are now: trying to guess what kind of file it is by poking at it with a stick. Backwards compatibility is a red herring.
If you're a novice programmer and you're working with a library that has a README file you'll only be confused 1 time, after that you'll know. If your OS gets confused... well, that's your fault for your OS selection and you should be used to using "open with...".
README for text, README.md for markdown, README.rtf for RTF, etc.
That some operating systems can't figure out what to do with a plain-text file is not the issue here. Hacking on an extension to appease this seems messy.
Adding a .txt extension would not be an earth-collapsing-into-a-black-hole kind of thing but there is a problem with it. You are only doing it so that an application can open it more easily. So, here we have a suggestion to change all README files so that an application can open them instead of changing an application so that it can open all README files. Not a good idea!
[1]: Actually I lied, the file extension is not that important; it only gives a hint of the format and reading the file will reveal it's format. However, you might want to open different image formats with different image processing applications.
If only the file name hinted at that fact...
All applications from now on shall just be named EXECUTE.
I will not: I will not cater to users with a broken OS.
I will not: I will not bother because it represents the minimal technical hurdle for Windows users.
If you don't want to support Windows, that's cool. It's your choice. But don't act like this is some great moral stance any more than companies refusing to provide device drivers for Linux.
edit: I now understand this is a reference to a comic that was published when I was five years old. Hah.
File extensions should only be used by people. The OS should have other ways of knowing the file type. And ".txt" is redundant. The default assumption should be "text" and only other file types should require extensions. IMHO.
Just looking at extensions can be misleading because not all files have extensions and some extensions correspond to multiple types of files. In general, no method will be perfect because no modern OS provides dedicated file typing (some older operating systems stored the file type as metadata, although even that breaks down at the boundary between your computer and the rest of the world). The imperfection is usually manageable, depending on the type of file (which is the real answer to your question - it depends on why you want to know).
Applications that won't open what I tell them to because they disagree about the file type are just broken. (Having to rename files whenever I want to open them is annoying. Having to replace a good piece of software because it refuses to follow instructions is even more annoying.)
All my Windows and Linux systems let me change the filename, without selecting the extension by default, and in the rare case that I want, I can change the extension too, from the same interface.
Maybe it's only me but I think it brings more confusion for pretty much no gain. is it markdown ? is it a normal text file? is it a custom extension ?
While we are at it, do we still need to use the three letter extensions which are a legacy of the MS-DOS era and FAT filesystems? A couple of years down the line, people would wonder why we tried to save one letter by typing 'txt'!
I can't keep up with the dogma...
I think I'll choose the annoyance-reduction.
"But I really feel like these extensionless files are a bad idea for usability. They look odd in Windows explorer, and they break Quicklook on Mac.
An extension ‘txt’ also informs novice users about the role of these files: they are not programming code, they are primarily meant to be read."
Ghostery shows one analytics package, Disconnect shows 4.
Trying to rack up pageviews for future ads?
Which is odd because the site doesn't use Comic Sans. If it's appearing as Comic Sans to you, the problem is on your end.
Also, not sure how that makes it ironic.
It's ironic because some opinions in this thread sounded like old-school "You want .txt because of Micro$oft", exactly the Microsoft-bashing we were used to read back then when websites where in Comic Sans.