• poop (unregistered) in reply to Tanuki

    THis is what Mac OS X does. You can change the extension, but the OS warns you that you aren't changing the encoding.

  • Ken (unregistered) in reply to Tanuki

    It does give you warning... something along the lines of "Warning this file may become unstable if you change the extension."

  • Praer (unregistered) in reply to ARMed but harmless
    ARMed but harmless:
    Praer:
    At long last, I believe we have found Paula's mentor...
    No, we have found Paula's father. Or brother. Probably both.

    Only one question, then : Is he 'brillant'?

  • (cs) in reply to Meta Mess
    Meta Mess:
    Anonymous:
    Remember that a file name, extension included, is merely metadata for the file-system...

    File extensions are a staggeringly simple concept yet a concept that works beautifully.

    Hey I have a great idea! Let's put the create date as part of the filename too. And how about the owner. And the permissions. That way you could easily see what files you're allowed to read just by doing a directory listing with your name as a wildcard! It would be soooo cool!

    Well, some users end up doing just that. For example, I keep my photos in directories whose names follow the pattern YYYY-MM-DD-Description. I use Adobe Lightroom as a metadata system for more extensive cataloging, but when I need to get to photos from Windows Explorer or via my TiVo, I find that having the date and a short description in the directory name is invaluable.

    Within a directory, extensions help me differentiate between photos and videos from a given shoot.

    It'd be great if Windows, TiVo, and Lightroom (and all other applications in the universe) used the same metadata system so I didn't have to do this, but they don't. And they never will, because there are too many systems out there for them to all agree on a metadata system.

    When I'm wearing my developer hat, though, I wouldn't find that information useful. In this role, I tend to find file extensions to be the most useful metadata (beyond the name, of course). And in this role, I think extensions are far more useful than a metadata system.

    Suppose I want to create a new XML file. I can, from my command line in a directory with no file called foo.xml, type whizbangeditor foo.xml, and my favorite editor will create a file called foo.xml and open itself on that file in XML mode.

    Without an extension, I'd have to do something like whizbangeditor foo -type xml, which would get old very fast. So I'd end up wanting some sort of shortcut for saying -type xml, some way that I could specify the name and type in one piece, maybe with some sort of separator. A dot, perhaps ...

    I think the biggest argument in favor of metadata systems over file extensions is exactly the one Tony demonstrates (although as a senior developer, Tony should know better): no matter how many times you tell a user "the file extension is only a hint, not a way of controlling the file", they will not remember it. See comments elsewhere (both on TDWTF and all over the Web) about how users think computers are magic and therefore refuse to think at all when using them.

    I believe, however, that if you try to solve this by putting the metadata in a metadata system, you will have to provide a way for the user to change the metadata. Very soon after that, the Tony will use that editor to change his file's type from "Comma-separated" to "Pipe-separated" and will then wonder why the comma-separated data in his file hasn't magically changed to pipe-separated. And we'll be back here where we started.

    My conclusion is that moving the information to a metadata system isn't necessarily a useful change, isn't practical, and won't solve the problem. The real solution is to dispel the myth that computers are magic, and to get users to start thinking a little.

    And as long as I'm dreaming, I'd like a pony.

  • BentFranklin (unregistered)

    Is the immature joke that fact that (|) looks like a clam?

  • (cs) in reply to Buddy
    Buddy:
    People can be that stupid and more. In one place, I did internal tech support. I remember once getting a request, along the lines of "How do I print in landscape?" or something. Anyway, this was the time of MS-Word and Clippy, I opened up Clippy and typed "How do I print in landscape?". After some stupid animation, it gave the correct answer right at the top. Some hours later, another request from the same person, same procedure, I type it into Clippy, and Clippy gives the right answer. Only one of the ten got the a-ha moment: "Hey, you're just typing what I ask into that help thing. I can do that!"

    The other nine thought, "Gee, why is this guy on the help desk? He doesn't know the answers either!"

  • John D Lawyer (unregistered) in reply to iToad
    iToad:
    Remy Porter:
    Where I work, there's a special team in IT. People too incompetent to do real IT work get put on this team, where they don't have any real responsibility and are doing what I perceive as the simplest tasks possible.

    And they still don't do it terribly well.

    A lot of large bureaucracies have the special department for their incompetents. In the federal government, these departments are often referred to as turkey farms.

    In federal government these departments are often referred to as 'congress', 'the senate', and 'the executive branch'

    There, FIFY

  • Patrick (unregistered) in reply to RobFreundlich
    RobFreundlich:
    I think the biggest argument in favor of metadata systems over file extensions is exactly the one Tony demonstrates (although as a senior developer, Tony should know better): no matter how many times you tell a user "the file extension is only a hint, not a way of controlling the file", they will not remember it. See comments elsewhere (both on TDWTF and all over the Web) about how users think computers are magic and therefore refuse to think at all when using them.

    I believe, however, that if you try to solve this by putting the metadata in a metadata system, you will have to provide a way for the user to change the metadata. Very soon after that, the Tony will use that editor to change his file's type from "Comma-separated" to "Pipe-separated" and will then wonder why the comma-separated data in his file hasn't magically changed to pipe-separated. And we'll be back here where we started.

    My conclusion is that moving the information to a metadata system isn't necessarily a useful change, isn't practical, and won't solve the problem. The real solution is to dispel the myth that computers are magic, and to get users to start thinking a little.

    I would digg you for this, but there's no button.

  • Patrick (unregistered) in reply to BentFranklin
    BentFranklin:
    Is the immature joke that fact that (|) looks like a clam?
    I think it looks more like a coffee bean.
  • (cs)

    For what it's worth, the few of you who were surfing the Sidebar forum about a year ago might have seen this little gem...

    http://forums.thedailywtf.com/forums/p/12628/201351.aspx

    Slightly different scenario, same problem.

  • (cs) in reply to Bernie
    Bernie:
    So, who am I blaming? Still us. I cannot blame the guy stilling next to me. He is a normal human being, unlike us. Have you ever met a normal (or are you surrounded by people with your skills)? Normals are scary. They send the same document to the same printer 5 times then call you. You delete all but 1 copy of the document in the print queue then turn the printer on. Or they call you every time their email gets mis-sorted. You click the column header to correctly sort their email. And they never eff'n grasp that simple concept that is used so often in UIs.

    In defense of the user, there ARE many people in IT who are TRWTF. When you did the correct step(s) for each user, did you explain what you were doing for him/her? Did you let the user sit down and duplicate your steps?

    Even in my own team doing network engineering, sometimes it's pulling teeth trying to get them to explain a concept to me. I tell a team member I want to learn and understand what the issue is I'm running into so I understand how to fix it later when I'm on call. He/she will just do it, then tell me it's fixed. If I'm lucky, I'll get a quick explanation of what happened, but not an in-depth, step-by-step process that I can understand and incorporate for future problems. Fortunately, not all of my fellow team members are like this.

    When someone (anyone -- user, fellow engineer, etc.) asks me a question, my default is to explain the solution to them so they can understand and learn for the future. My fallback is to just tell them how to do it. Rarely (but sometimes) do I get a "this is a problem, fix it, I don't care how it's done!" Even for end users, I get fewer calls this way. When I left my position as a departmental support technician, several users told me they really appreciated how I would sit down and show them how to do what they wanted to do as opposed to just doing it for them.

    Yes, IT people can very easily be TRWTF. Yes, some users just don't want to learn for themselves. I've found that most users DO want to learn and will gladly learn enough to be able to do what they want to do. Those users generally won't ask the same question again. But we need to help them in this process by taking the time to show them as opposed to just doing what they're trying to get done.

  • chrispy (unregistered)

    I've never felt the need to comment before, but this is by far the most ridiculous article I've read on TDWTF thus far. I just took AP Computer Science at my high school, and I'm pretty confident I could do this. Without help. If this is what passes for a senior developer, where do I sign up?

  • (cs) in reply to RobFreundlich
    RobFreundlich:
    ...Suppose I want to create a new XML file. I can, from my command line in a directory with no file called foo.xml, type whizbangeditor foo.xml, and my favorite editor will create a file called foo.xml and open itself on that file in XML mode...
    I'm glad you used xml as an example. Many xml files aren't named xyz.xml. Many modern file formats are xml files, but the extension is used to associate them with the correct application. *.docx, *.xslx, *.xslt, *.sln, *.csproj, and a whole bunch of other files are xml files, but renaming them to *.xml will break the file association. I'm glad that you like to have your text editor switch to the correct parser based on file extensions, but it certainly isn't the only way to live. As an alternative, you could open the text editor (by typing its name, or by clicking a visual aid such as a shortcut) and creating a new file based on a template (or simply changing the parser type while in a new file). In many text editors, it's only four clicks to get this done.

    The fact is -- you are building your workflow on top of a hack. You would be sad to see the hack go because your workflow would be disturbed. Let it go, living without file exension associations would not be hell on earth. A proper metadata system wouldn't really cause many problems and it would solve many. Microsoft has been working on one for years with WinFS, but they keep throwing the kitchen sink into the spec and turning it into vaporware.

  • re:me (unregistered) in reply to Patrick
    Patrick:
    BentFranklin:
    Is the immature joke that fact that (|) looks like a clam?
    I think it looks more like a coffee bean.

    wrong kind of clam...

  • NH (unregistered) in reply to smit
    smit:
    TRWTF. Amit writing a CSV parser.

    I wonder how many times they are going to have to "enhance" this code to support text identified by quotes, embedded double-quote characters, fields with embedded line breaks, record separator used as the decimal separator, UTF-8 Encoding, etc.

    CSV application support

    Don't reinvent the wheel Amit.

    It's often faster to write a CSV parser for your specific case than to try to figure out how to use a plugin to your specific environment - that well may be an embedded environment with limited resources and using an obscure programming language.

  • NH (unregistered) in reply to iToad
    iToad:
    Remy Porter:
    Where I work, there's a special team in IT. People too incompetent to do real IT work get put on this team, where they don't have any real responsibility and are doing what I perceive as the simplest tasks possible.

    And they still don't do it terribly well.

    A lot of large bureaucracies have the special department for their incompetents. In the federal government, these departments are often referred to as turkey farms.

    As for where the cops places their unusables - the lost&found department. No wonder things gets lost again. At least they aren't causing too much damage in general there.

    But there are things worse than people not doing anything and that's people that works against the rest of the people by always doing the opposite or taking down a critical server at an inconvenient moment.

  • (cs) in reply to re:me

    It's a butt.

    Huh huh heh huh hnh.

  • (cs) in reply to Jaime
    Jaime:
    RobFreundlich:
    ...Suppose I want to create a new XML file. I can, from my command line in a directory with no file called foo.xml, type whizbangeditor foo.xml, and my favorite editor will create a file called foo.xml and open itself on that file in XML mode...
    I'm glad you used xml as an example. Many xml files aren't named xyz.xml. Many modern file formats are xml files, but the extension is used to associate them with the correct application. *.docx, *.xslx, *.xslt, *.sln, *.csproj, and a whole bunch of other files are xml files, but renaming them to *.xml will break the file association.

    Quite true, and I work with several of those, as well as several others. But a lot of those have their own special syntaxes and editor modes. So again, it's nice if the editor knows what I want based on its initial input (i.e. the filename).

    Jaime:
    I'm glad that you like to have your text editor switch to the correct parser based on file extensions, but it certainly isn't the only way to live. As an alternative, you could open the text editor (by typing its name, or by clicking a visual aid such as a shortcut) and creating a new file based on a template (or simply changing the parser type while in a new file). In many text editors, it's only four clicks to get this done.

    The fact is -- you are building your workflow on top of a hack. You would be sad to see the hack go because your workflow would be disturbed.

    You're absolutely right that it's not the only way to live. In many cases, though, it is my preferred way to work. When I code, I tend to spend a lot of time at the command line and on the keyboard, rather than the GUI and the mouse. My fingers and hindbrain know many key sequences, and so it is very fast for me to type whizbangeditor foo.xml. Plus, once the editor comes up, my hands are already on the keyboard ready to type. So that's one set of motor skills and no conscious thought. Fast, and very efficient.

    Clicking a shortcut and then moving the mouse to the right screen locations to make those four clicks (plus waiting for menus/dialogs/whatever to display) would slow me down quite a lot. Furthermore, it would require much more of my consciousness - moving a mouse around uses a different set of motor skills than typing, finding where to put the cursor requires visual input, and so on. That may sound trivial, but it's all stuff that can't really be hindbrained, so it is much less efficient and more of a distraction from the task at hand: creating and editing a file.

    If the editor were written properly, there'd be keyboard sequences for all of that, of course, and so it'd be a matter of learning those. But, alas, not all editors are written properly.

    Also, in my case, the editor I'm talking about has no GUI to speak of, so clicking around isn't really an option.

    Jaime:
    Let it go, living without file exension associations would not be hell on earth. A proper metadata system wouldn't really cause many problems and it would solve many. Microsoft has been working on one for years with WinFS, but they keep throwing the kitchen sink into the spec and turning it into vaporware.

    I happen to mostly agree with you. A well-designed metadata system that is universally recognized and consistently implemented (including from command lines) would probably make lots and lots of things easier. Yes, whizbangeditor foo -type xml is a bit longer to type, but my fingers would learn it eventually.

    However:

    1. That's a pipe dream (or, in Tony's case, a comma dream)

    2. It would not solve Tony's problem. He'd still think that changing the file type from "comma-separated" to "pipe-separated" would magically change the file contents.

    3. Whether you like it or not, the combination of name and extension is a metadata system. It's admittedly primitive (it only encodes two metadata values: name and type), and can confuse users sometimes, but it's the only metadata system that is universally recognized at this time, so I don't expect it to go anywhere any time soon.

  • Hourly Paid (unregistered)

    Tony sounds like Management Material.

  • Tony Janusky (unregistered)

    TRWTF is that an embedded device without a file system does not warn you about changing file extensions.

  • synp (unregistered) in reply to what's in a name
    what's in a name:
    of course! renaming "New Text Document.txt" to "A-Team.R5.somegroup.ac3.avi" works for me!

    I love it when a plan comes together

  • Paula Ticks (unregistered) in reply to Patrick
    Patrick:
    BentFranklin:
    Is the immature joke that fact that (|) looks like a clam?
    I think it looks more like a coffee bean.
    Maybe it's a Paula bean.
  • Dave (unregistered)

    Some meaningless text..for now.

    edit: .first

  • Az (unregistered)

    TRWTF is that:

    • They hired someone without asking any questions to clarify capabilities.
    • The code of the parser needs to be changed if the separator changes.
  • TheDrizzle (unregistered) in reply to GalacticCowboy

    This is exactly right.

    Clippy is smarter than "internal tech support" guy.

  • bd (unregistered) in reply to Bernie
    Bernie:
    We are TRWTF. We, the computer geeks of world, have royally screwed computer users by allowing the situation (i.e., changeable file name extensions that don't change the file itself) to exist.
    I changed my surname to Armstrong last week. I'm really bummed now. I didn't get sent to the Moon for free, I still don't last on a bike for more than 30 minutes and my trumpet playing sucks.
  • Catch (unregistered)

    Well, all of that aside, it still works better than the old backspace-delimited files we have to work with...

  • salute (unregistered) in reply to frits

    file://$path (then C-J to open the developer console for Content-type). Oh the ignorant.

  • Rob (unregistered) in reply to Anonymous
    Windows users have ultimate control over registered file extensions

    BWAHHAHAHAHAHAAH. Have you ever looked at how Windows manages file extensions? It's a convoluted mess and if it ever manages to get misconfigured, you're screwed.

  • (cs)

    Wait, I just changed the extension of one of my Java projects from .jar to .zip, and WinZip can open it just fine. The problem must be with your computer!

  • my_job_is_wtf (unregistered) in reply to Vilx-
    Vilx-:
    What a wonderful idea! Finally I now see an easy way to migrate all those old VB ASP websites to ASP.NET - just rename them to .ASPX!
    The sad thing is, my boss actually suggested we do that with our website. Yes he was serious....
  • (cs) in reply to bd
    bd:
    Bernie:
    We are TRWTF. We, the computer geeks of world, have royally screwed computer users by allowing the situation (i.e., changeable file name extensions that don't change the file itself) to exist.
    I changed my surname to Armstrong last week. I'm really bummed now. I didn't get sent to the Moon for free, I still don't last on a bike for more than 30 minutes and my trumpet playing sucks.
    It took all day, but I believe we have a winner.
  • PinkyAndTheBrainFan187 (unregistered) in reply to Az

    Oh my word. Can everyone who is saying "WHY AM HE WRITE PARSER HISSELF??" just shut the fuck up? We know nothing about the implementation and yet you're derailing the RWTF, that a senior developer thought changing a filename would change it's contents.

    Many languages have library classes/functions that can be used to parse CSV files. Show me one where all you have to do is to instantiate a class, or call a function with the CSV filename and the data magically appears in the correct internal format. Which is? At the very least you will have to map fields parsed from the file to database fields.

    More likely, you'll also want to validate the input, possibly process it in some way, insert it into a database, fail gracefully on bad input etc. etc. What then do you call this program "module"? Perhaps you'd refer to it as a "csv parser"?

    Good grief. My interpretation isn't necessarily the correct one either, but given how much Alex et al. embellish the truth, why the hell are you all lambasting Amit with such vitriol??

  • TheCPUWizard (unregistered) in reply to Bryan The K

    Not if the interview is done by the right person. Human Resources is totally incapable of doing this type of interview. 99% of all agencies are also. 60% of all managers are also. Many times there is NO ONE in the "chain" that has the skills to do a proper technical interview (this is especially true for newly adopted technologies).

    disclaimer: My company provides screening services. Our interviews are tough. They require significant thinking, and can rarely be "passed" by memorization or rote knowledge. About 80% of the candidates who make it past the first level screening (done by agency, client, etc) fail to meet the mark on these interviews.

  • (cs)

    1 attachement(s): I_Videoed_In_My_Informative_Post_With_SSDS.flv

  • DAL (unregistered) in reply to Anon

    I don't have a video player, can I change the extension to ".dvd"?

  • Grey (unregistered)

    How sad... I know yet another incompetent dude in my company, but the boss likes him. Can't imagine why... And that's enough not to be fired.

  • (cs)

    Change it to mp3 then play it backwards?

  • kain_tn (unregistered)

    "Do you think," Amit grumbled, "that if we changed the extension to .mp3, it would play on your iPod?"

    "Oh, I don't have an iPod. But my Zen could definitely play it. No DRM, you know."

    OMG...

  • daqq (unregistered)

    A pipe is needed to solve this problem. To be more precise: a lead pipe applied to Tonys head until he's either smarter or the problem solves itself.

  • (cs) in reply to RobFreundlich
    RobFreundlich:
    3. Whether you like it or not, the combination of name and extension is a metadata system. It's admittedly primitive (it only encodes two metadata values: name and type), and can confuse users sometimes, but it's the only metadata system that is universally recognized at this time, so I don't expect it to go anywhere any time soon.
    So we're stuck with a ghetto metadata system, mashing all sorts of useful information together in the name.

    The extension indicates believed format and what application ought to open the file by default, together with a few other things like whether the file is compiled directly or by import (that's .c vs .h to you and me). But users put other things in the filename too, such as where the photograph was taken or who is pictured in it. Still all metadata, and filesystems still suck at it in practice (and so do the archival formats seen in practice).

  • cip (unregistered) in reply to John

    That story really made me facepalm.

    John:
    Some of the best writing I've seen. I have the same guy in my group

    Everyone has a Tony at work

  • Death (unregistered) in reply to John
    John:
    There was a vast field between "incompetent" and "incompetent enough to get fired", and Tony frolicked in that field among the Lilies of Wasted Effort and the Butterflies of Uselessness. He was the sort of person that could only survive in a large company where his dead-weight was barely noticable among the bueraucratic morass. Amit's statement was literally true: Tony, a senior developer, should have been able to make these changes. Could he, on the other hand?

    Some of the best writing I've seen. I have the same guy in my group

    At my first employer we had a guy like that too... I left years ago, but still retained contacts there. Recently, he was finally fired. No, not because he was blatantly incompetent, but because he managed to do something rather unacceptably stupid in company politics. While another manifestation of his incompetence, it's rather sad to see, that companies care more about politics than of competence.

  • Anonymous (unregistered) in reply to Rob
    Rob:
    Windows users have ultimate control over registered file extensions

    BWAHHAHAHAHAHAAH. Have you ever looked at how Windows manages file extensions? It's a convoluted mess and if it ever manages to get misconfigured, you're screwed.

    I adjust Windows file extension registrations all the time. It is very trivial to fix misconfigured settings, the notion that you are "screwed" is utterly ridiculous. They are very easy to set up and maintain if you know what you're doing, just a few registry keys, and even if you don't know what you're doing there is a pretty good graphical editor that does everything the layman needs (Tools-->Folder Options).

  • John (unregistered)

    Many years ago I wrote a platform-agnostic comms library which provided inter-application communication using a variety of underlying communications mechanisms - TCP/IP, X.25, serial link, shared memory, machine internal message passing. The application didn't need to know which one was in use - it was all done in configuration files and the application made a simple call to send data when required.

    After I'd left the company (but was still on a consultancy retainer) I got a phone call one day. "We've enhanced that library to support UDP communication as well and we're due to deliver it to a customer tomorrow but we're having difficulty with acceptance testing. Could you come in and help us?"

    Leaving aside the fact that UDP provides a completely different type of comms from TCP (apparently they didn't mind this) I agreed to help. When I examined the code I found that the entire "enhancement" work consisted of:

    cp tcpip.c udpip.c vi udpip.c :g/tcp/s//udp/g :wq

    Funnily enough it didn't even compile. I spent a happy two weeks (at consultancy rates) doing the implementation for them.

  • (cs)

    Quiet please, I am working on my upcoming mp3 entitled "Things that seperate".

  • Bosshog (unregistered)

    "Lilies of Wasted Effort and the Butterflies of Uselessness"

    I salute you.

    facilisis - a dandruff-like disease which makes easy things flaky.

  • Pentium100 (unregistered)

    If you remove file extensions and save the type information elsewhere, you would still have to provide a way to change it (for example: I create a new text file, type or paste some csv data, save it and now have to change the type to csv, or create a batch file with notepad and now need to change the type from text to batch). So, those who believe that changing the extension changes the contents will continue to believe that changing the type changes the contents.

    captcha: amet - Lorem ipsum dolor sit amet, consectetur adipisicing elit ...

  • Bruno (unregistered)

    Are those stories supposed to be real or not? I'm asking because this one is obviously fake, for 2 reasons:

    • I've met lots of stupid persons in this job, but to this point it's just not possible, sorry.
    • If the program was unchanged (still handling comma, not pipes) and the input files was unchanged (still comma-separated) then everything would have worked well and Tony wouldn't even have sent the "not working" e-mail. He would simply have believed he had successfully made the change.
  • (cs)

    What diploma mill did Tony graduate from?

Leave a comment on “Pipe Up”

Log In or post as a guest

Replying to comment #:

« Return to Article