Slashdot Mirror


Linux/Mac/Windows File Name Friction

lessthan0 writes "In 1995, Microsoft added long file name support to Windows, allowing more descriptive names than the limited 8.3 DOS format. Mac users scoffed, having had long file names for a decade and because Windows still stored a DOS file name in the background. Linux was born with long file name support four years before it showed up in Windows. Today, long file names are well supported by all three operating systems though key differences remain. "

638 comments

  1. Long filename horror story by suso · · Score: 5, Funny

    Long filenames aren't all they are cracked up to be. I got made fun of once for using one. I can remember it so clearly now, we were in music theory class in high school and we had to use Finale on a Mac (OS 7 at the time) for our composition projects. I named one of my projects something like "Suso's Music Theory assignment number 4 for Mr. Becker 1993-9-24.mus" and saved it. A week later I was on the same Mac and noticed a file that wasn't mine called "Making fun of people who use really long filenames for their music theory assignments.mus". Nobody was admit to doing it but I knew who it was. I was devastated and never felt comfortable again in that class.

    Now I'm scarred for life. I should have listened to my parents and gone with 8.3.

    1. Re:Long filename horror story by Anonymous Coward · · Score: 1, Funny

      You = total pussy.

    2. Re:Long filename horror story by Jesus_666 · · Score: 2, Funny

      Of course you meant "You = totalpu.ssy" or "You = total~1".

      --
      USE HOT GRITS WITH STATUE OF NATALIE PORTMAN (NAKED AND PETRIFIED)
    3. Re:Long filename horror story by Anonymous Coward · · Score: 0, Informative

      Those filenames are longer than the 31 character limit on Mac OS systems. You're lying.

    4. Re:Long filename horror story by NutscrapeSucks · · Score: 2, Informative

      MacOS was limited to 31 character names, so you're misremembering things.

      --
      Whenever I hear the word 'Innovation', I reach for my pistol.
    5. Re:Long filename horror story by suso · · Score: 4, Funny

      MacOS was limited to 31 character names, so you're misremembering things.

      I have a bumper sticker on my car that says:

      "I waste my jokes on the accuracy nazis on slashdot."

    6. Re:Long filename horror story by NutscrapeSucks · · Score: 1

      I wasn't trying to flame, but file name length is the topic of the story. The joke would have been better if you got it right.

      --
      Whenever I hear the word 'Innovation', I reach for my pistol.
    7. Re:Long filename horror story by zsau · · Score: 2, Interesting

      Even though others apparently claim you're joking, I personally am all for gratuitous words in file names. Some times I achieve this by gratitously deep folder heirarchies, but usually I just randomly add keywords to files. I mostly use a GUI, so it doesn't stress me out too much, but makes it much easier to find them two years later.

      (I also like my music files to accurately contain the name of the track, so a song like "Where is everybody?" becomes "(maybe the artists name, album etc. -) 03 - Where is everybody?.ogg". Worse, if it's "Starfuckers Inc.", it becomes "06 - Starfuckers, Inc..ogg". It quite annoys me when I try to copy the files to my music player, which has a FAT-based filesystem.)

      --
      Look out!
    8. Re:Long filename horror story by mausmalone · · Score: 5, Insightful

      Perhaps that's a bit long of a file name, but it's at least descriptive. I can't tell you how many times I've gotten files titled Agenda 01.doc when they should be more like Tech Committee Agenda 2006-05-01.doc -- it's not excessively long, but with a file name like that I know EXACTLY what's in that file.

      --
      -=-=-=-=-=
      I'd rather be flamed than ignored.
    9. Re:Long filename horror story by Filip22012005 · · Score: 1

      Even though others apparently claim you're joking, I personally am all for gratuitous words in file names. Some times I achieve this by gratitously deep folder heirarchies, but usually I just randomly add keywords to files. I mostly use a GUI, so it doesn't stress me out too much, but makes it much easier to find them two years later.

      Like "gratuitious"?

      --
      When the policeman of the tie, rule you violate, hello punishment of the kitty?
    10. Re:Long filename horror story by zsau · · Score: 1

      Actually, no. But perhaps that is a word I redundantly and/or gratuitously over-use too much.

      (One of my lecturers at Uni uses (or at least did, when he lectured me) "as a consequence of that" as every second phrase. Almost literally. There was once a suggestion the Psych Society (he being a Psychology lecturer) should run a competition along the lines of "Guess how many lollies are in the jar" for a semester, although the prospect of winning a collection of the words "as a consequence of that", all of which have already been uttered was not particularly motivating).

      --
      Look out!
    11. Re:Long filename horror story by Compholio · · Score: 2, Informative

      I mostly use a GUI, so it doesn't stress me out too much, but makes it much easier to find them two years later.

      Many shells now support the use of the "Tab" key to expand a filename (and list filenames that match what you have typed in so far). Also, if your music player is an iPod then you can format it with HPFS and lose that FAT restrictions - though, I believe the iPod actually just mangles the filename and uses the ID tags.

    12. Re:Long filename horror story by jdwclemson · · Score: 1

      I'm with coward on this one, that is totally weak if you could be "devestated" by something so harmless. I use long file names all the time at work and nobody complains. If somebody did take a cheap shot at me, I am not sure why I would care about it.

    13. Re:Long filename horror story by yestertech · · Score: 1

      MacOS was limited to 31 character names, so you're misremembering things.
      Technically incorrect: Mac filenames could be 255 chars, but at some revision of Finder (forget which), they limited things to 31 characters as a practical limit. The underlying system remained capable.

      --
      there's no replacement for displacement
    14. Re:Long filename horror story by MartinB · · Score: 1

      Bah. We had to use pens and rulers. Did me fine for my BMus.

      At least we had manuscript paper, mind, unlike previous generations who had to draw their own.

      --

      The only thing you can accurately describe as "Scotch" is a sticky tape made by 3M. And it's

    15. Re:Long filename horror story by jrmcferren · · Score: 1

      It was 63 characters on hard/floppy and 31 on CD-ROM like Windows is 63 on CD-ROM 255 on the rest (both using Juliet).

      --
      sudo mod me up
    16. Re:Long filename horror story by Tackhead · · Score: 2, Informative
      > Of course you meant "You = totalpu.ssy" or "You = total~1".

      Nope. File metadata in extension. File description in name. Keep 'em separate!

      TOTPUSSY.YOU or TOTALPUS.YOU

      And now you can burn it to an ISO 9660 CD-R and be sure of getting the right filename, every time, even on ancient versions of SunOS/Solaris that refused to read Joliet! (Time heals all wounds. Slashdot threads on cross-platform file naming conventions reopen them.)

    17. Re:Long filename horror story by TheGreek · · Score: 3, Informative
      Technically incorrect: Mac filenames could be 255 chars, but at some revision of Finder (forget which), they limited things to 31 characters as a practical limit. The underlying system remained capable.
      HFS was limited to 31 characters.

      HFS+, introduced in Mac OS 8.1, allows filenames of up to 255 characters, but Classic Mac OS never, for all intents and purposes, supported it.

      If you're going to try to correct people, you should probably make sure you're correct yourself so you don't end up looking like an ass.
    18. Re:Long filename horror story by Anonymous Coward · · Score: 0

      You forgot to capitalize Nazis!

    19. Re:Long filename horror story by shotfeel · · Score: 1

      I never had too much trouble dealing with the name length when going between systems. What always messed me up (and still does sometimes) is that "forbidden" characters are different between OS's. I often include dates in my filenames. In older Mac OS's I always used mm/dd/yy. OS X and DOS/Windows don't like those files very much.

    20. Re:Long filename horror story by Anonymous Coward · · Score: 1, Interesting

      Sysadmin horror story: somebody using a Mac to mount a UNIX NFS share managed to create a filename with a slash in it on the UNIX box.

    21. Re:Long filename horror story by Anonymous Coward · · Score: 1, Informative

      The Joliet filename length limit is somewhat below 120 characters because the record it is stored in cannot exceed 255 bytes. The record includes the starting extent and the file size in big and little endian format, and the name is stored in Unicode.

    22. Re:Long filename horror story by Anonymous Coward · · Score: 0

      maybe if you were a 12-yr-old girl, you would understand

    23. Re:Long filename horror story by deathy_epl+ccs · · Score: 3, Funny

      Man, it is a slow news day when a flame war errupts over exactly how long a long filename was on a classic Mac.

      It's pretty bad when y'all have another geek tellin' ya to get lives.

    24. Re:Long filename horror story by WhiteWolf666 · · Score: 1

      It's unfortunate that there isn't a concise, easy to use pop-up menu allowing you to add this kind of meta data to file easily (even OpenApple-I is too complex).

      Things like dates, comments, etc. . . should be in the searchable metadata for a file, but its really too much trouble to add spotlight (or beagle, or reiserfs, or whatever) metadata. It's _much_ easier just to rename a file.

      --
      WhiteWolf666 an exBush supporter. All you new-school,compassionate,save the children Republicans can rot in hell
    25. Re:Long filename horror story by WhiteWolf666 · · Score: 1

      Can't you eliminate stuff like that using "" ?

      --
      WhiteWolf666 an exBush supporter. All you new-school,compassionate,save the children Republicans can rot in hell
    26. Re:Long filename horror story by Anonymous Coward · · Score: 0

      maybe if you were a 12-yr-old girl, you would understand

      There seems to be a lot of slashdot users who consider themselves tougher than 12-yr-old girls, and think it's worth swaggering about.

    27. Re:Long filename horror story by OldManAndTheC++ · · Score: 5, Funny

      I have a bumper sticker on my car that says:

      "I waste my jokes on the accuracy nazis on slashdot."

      There's no way that would fit on a bumper sticker.

      --
      Soylent Green is peoplicious!
    28. Re:Long filename horror story by Anonymous Coward · · Score: 0

      hello.jpg

    29. Re:Long filename horror story by Anonymous Coward · · Score: 0

      Obviously it was a bug in the unix NFS server. It should never have allowed that filename.

      Nowadays, OS X seamlessly translates between '/' (unix dir separator) and ':' (old Mac dir separator) depending on the context. Create a file in Finder with a '/' and it'll happily do it. Underneath, that '/' actually became a ':' which you'll see if you look at it in the terminal.

    30. Re:Long filename horror story by andreyw · · Score: 1

      You meant to type Joliet, not Juliet. And... pffft... Joliet? Rockridge all the way...

    31. Re:Long filename horror story by cayenne8 · · Score: 1
      I just wish everyone on windows and mac systems would put underscores between the words. The spaces are a PITA when you get the files on a unix type machine, and are trying to do some scripting to manipulate files....

      It just makes life easier....

      --
      Light travels faster than sound. This is why some people appear bright until you hear them speak.........
    32. Re:Long filename horror story by Kelson · · Score: 1
      You forgot to capitalize Nazis!

      Hmm, now that I think about it, that might be the correct usage. I mean, consider other political parties that are also used to refer to types of politics, such as Libertarian. A Libertarian is a member of the Libertarian Party, while a libertarian is someone who believes in minimal government and free-market capitalism, but could be a member of another party or none at all.

      So, by that standard, a Nazi (capitalized) would be someone who is actually a neo-Nazi of some sort, while a nazi (lowercase) would be someone who is overly strict and authoritarian.

      Of course, then you have to take into account that the word Nazi is a recent import from German, which capitalizes all nouns. This calls into question whether the word has been sufficiently anglicized to take on English spelling conventions. Or maybe I'm just overthinking the whole thing. Where's Godwin when you need him?

    33. Re:Long filename horror story by Jesus_666 · · Score: 1

      I am humbled by your wisdom.

      --
      USE HOT GRITS WITH STATUE OF NATALIE PORTMAN (NAKED AND PETRIFIED)
    34. Re:Long filename horror story by Anonymous Coward · · Score: 0

      My eyes!! They're bleeding!

    35. Re:Long filename horror story by DLWormwood · · Score: 1

      HFS was limited to 31 characters.

      But the original Macintosh File System wasn't. It allowed the full 255, but the Finder limited it to 63. Now what do you look like? (-;

      Seriously, though, during the OS 7 era, it was not uncommon to write something like that through some kind of 1337 abbreviation or MacRoman character substitution. I used to use "lower case delta" for documentation and read me files, "latin small f with hook" for folder names, and "Pi" for makefiles/projects. This originated from similar shortcuts in the command-line-like scripting windows used in MPW.

      And why doesn't /. support HTML entites or Unicode yet? Hmmm...

      --
      Those who complain about affect & effect on /. should be disemvoweled
    36. Re:Long filename horror story by zsau · · Score: 1

      Yeah, I know :) Even does escaping properly, too :)

      (I need an music player that plays Ogg Vorbis files, given the size of my collection that is in Ogg Vorbis, so no, I don't use an iPod. Unless that's changed?)

      --
      Look out!
    37. Re:Long filename horror story by Compholio · · Score: 1

      (I need an music player that plays Ogg Vorbis files, given the size of my collection that is in Ogg Vorbis, so no, I don't use an iPod. Unless that's changed?)

      You can load Linux on an iPod and then you can play Ogg, need an older iPod though (though I don't check up on the project regularly).

    38. Re:Long filename horror story by mvdw · · Score: 1
      About dates: try writing the date in the (ISO standard) format YYYYMMDD. So, today becomes 20060711. The files are then sorted automagically for you by the gui/shell into creation date., eg:
      20060710-file1.txt
      20060711-file1.txt
    39. Re:Long filename horror story by k8to · · Score: 1

      I copy such filenames to my fat-based music player all the time. What happens when you try it?

      --
      -josh
    40. Re:Long filename horror story by ksheff · · Score: 2, Funny

      nah, we just want someone else to get one of these Life things and then report back. Saves us the trouble of trying to get one ourselves if it sucks.

      --
      the good ground has been paved over by suicidal maniacs
    41. Re:Long filename horror story by zsau · · Score: 1

      cp: cannot create regular file `mnt/This is a filename: It contains weird characters that for "some" reason, FAT doesn\'t like, doesn\'t it?': Invalid argument

      This is on a GNU+Linux 2.6-based box. What are you using? What does Windows think, if it sees such filenames? (I did once manage to get a filename with characters Windows/FAT doesn't like, and not even Linux could remove it. I forget what exactly Windows thought of it.)

      --
      Look out!
    42. Re:Long filename horror story by Schraegstrichpunkt · · Score: 1
      And why doesn't /. support HTML entites

      HTML entities are probably © The SCO Group, like everything else.

      or Unicode yet? Hmmm...

      That part seems to be correct.

    43. Re:Long filename horror story by Bert64 · · Score: 1

      Filenames aren't really the place for such information tho...
      One neat feature of amigaos, was that every file could have a comment attached, a majority of networking apps used this feature to store the URL of any file in it's comment, so i could see exactly where things were downloaded from at a glance.

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    44. Re:Long filename horror story by Bert64 · · Score: 1

      Would the filesystem even allow that? or would it just create a directory and put the file in there...

      On the other hand, creating files with backslashes on samba shares is quite amusing when windows users start browsing them.

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    45. Re:Long filename horror story by Bert64 · · Score: 1

      Actually joliet was microsoft's attempt to create their own extension to ISO9660 (which only allows 8.3 filenames) instead of using the existing extension, rock ridge, which is not only more flexible but was already supported by virtually every other os out there (including your old sunos boxes)

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    46. Re:Long filename horror story by Bert64 · · Score: 1

      The date is already stored as metadata on virtually any filesystem, and basic commands like "find" are capable of searching based on it.

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    47. Re:Long filename horror story by zsau · · Score: 1

      These are files only for me, and helps me retrieve them later. I really can't think what other purpose filenames have in a personal data store.

      I'll agree with you that modern operating systems don't use enough metadata :( I use ROX-Filer on the XFS filesystem, and so I can set filetypes independently of the name, and some operating environments let you label a file in some primative way, but that's about the most advanced metadata I'm aware of with modern OSes. (And I don't even use ROX's filetyping much any more: It usually works out the filetype automagically independentally of any such metadata, and if I edit a file with metadata, it gets lost into the æther...) That feature you mention would be the absolute best feature of any filesystem/networking apps in the world! (on top, at least, of what's normal today).

      --
      Look out!
    48. Re:Long filename horror story by WhiteWolf666 · · Score: 1

      Yes, and no :)

      Date is either creation date, last access date, or write date. I'm suggesting something that is better controlled by the user.

      For example, I write a report, Acme Widget Sales.odt. While I could write the file name as Acme Widget Sales, 2006.06.22, Spanish-Language Widget Sales via Walmart.odt, I'd prefer to put that extra data in the metadata, so that it would be easily searchable. The date I put in is something arbitrary; this means that it may not be the same as creation date, and most likely won't be the same as last access or last modification. Although modern filesystems do store metadata like this, none of the GUIs surrounding modern filesystems have a very convenient technique to add this metadata. This includes OS X, which quite seriously brags about this kind of thing.

      What I'd like is a keyboard shortcut that lets me enter metadata without doodling around with my mouse in several different context menus.

      --
      WhiteWolf666 an exBush supporter. All you new-school,compassionate,save the children Republicans can rot in hell
    49. Re:Long filename horror story by MaxInBxl · · Score: 1
      I know that where I work (in Brussels with the European Commission as our main client) we use what appears to be fairly standard naming for work documents. It's something along the lines of:

      [Short Project Name]_[Document Abbreviation]_[date]_v[version]

      The date is optional and only really has relevance for meeting minutes or meeting agendas. This gives document names such as:

      EX-PORTAL_PQP_v110.doc

      EX-PROJ_MOM_29012006_v000.doc

      I am guessing that similar naming conventions are very widely used in the corporate world. It can be a bit cryptic at first but once you're used to it you can look at a folder with numerous files and quickly locate the one that you're looking for even if you're not familiar with the given project.

    50. Re:Long filename horror story by shotfeel · · Score: 1

      That''s obviously the best way to do it. For some reason, I don't do it though. The mmddyy format is either to ingrained or I'm just being lazy. Or I the thought of having two different naming schemes on the same drive, because that does cause problems. The only thing that saves me is that I have enough files that each year has its own folder. But then the year in the filename becomes a bit redundant.

    51. Re:Long filename horror story by k8to · · Score: 1

      You just changed the scenario. Your original example included spaces, numbers, alphas, the hyphen, the period, and a comma. These are all legal FAT characters. I was curious what kind of an error this produced for you.

      Your response is an error that is for a filename including alpha, question mark, apostrophe/single quote, backslashes (unsure here), and most importantly, a colon. Colons are not FAT-legal characters on DOS (and derivatives), so you get an error.

      It's possible to mount fat filesystems in such a way as to allow linux to store colons, and other characters, in filenames but as you point out this would make DOS (and derivatives) unhappy, and so the default is to disallow them. So yes, your new scenario will fail, but your original scenario should succeed. However, I am no longer as interested in the problem encountered.

      --
      -josh
    52. Re:Long filename horror story by zsau · · Score: 1

      Huh? I never changed the scenario---well, not enough to create an error message where one didn't exist before.

      I said in the first place (I also like my music files to accurately contain the name of the track, so a song like "Where is everybody?" becomes "(maybe the artists name, album etc. -) 03 - Where is everybody?.ogg": My original scenario as written included a question mark. Even if I hadn't added these extra characters, like quotes or colons (the backslashes were just in the error message, not in the original), the question mark is still enough for it to fail. Still, the names of my music does often include apostrophes and colons, and as you confused me I thought I'd through together an example that used all sorts of characters from the same box.

      --
      Look out!
    53. Re:Long filename horror story by rdoger6424 · · Score: 1

      what part of OMG PONIES! don't you understand?

      --
      "Hello 911? I just tried to toast some bread, and the toaster grew an arm and stabbed me in the face!"
  2. Damn this is exciting! by windowpain · · Score: 1, Insightful

    Slow news day?

    --
    Insert witty sig here.
    1. Re:Damn this is exciting! by Anonymous Coward · · Score: 0

      Yep

    2. Re:Damn this is exciting! by Anonymous Coward · · Score: 0

      Or, exodus to Digg.

    3. Re:Damn this is exciting! by Anonymous Coward · · Score: 0

      Actually, I think this should have been filed under backslash. I expect to see it again later this week, with all the best comments, chosen by the editors. Yea! another OS minutia commented to death...

    4. Re:Damn this is exciting! by infra93 · · Score: 1

      Is this even "news"? I mean, is there even anything "new" about this? Or just history class?

  3. c:\progra~1\Micros~1\Powerp~1 by stupidfoo · · Score: 2, Interesting

    Although it was cast as a negative, I always enjoyed being able to use the ~1 (and ~2, ~3, etc) for long names in MSDOS. In my mind Program Files is progra~1 and Microsoft is micros~1.

    1. Re:c:\progra~1\Micros~1\Powerp~1 by mrjb · · Score: 2, Interesting

      When you use cmd.exe for a command line interpreter, it makes more sense to type

      cd prog*\mic*

      Not only will this work, it will also work on other platforms, and it will also keep working when the silly ~1 convention is abandoned.

      --
      Visit http://ringbreak.dnd.utwente.nl/~mrjb/growingbettersoftware to download your free copy of the book
    2. Re:c:\progra~1\Micros~1\Powerp~1 by Delirium+Tremens · · Score: 2, Interesting

      Careful with that because if you install -- say -- a software called ProGrabber in c:\, it now becomes Progra~1 and Program Files becomes Progra~2.

    3. Re:c:\progra~1\Micros~1\Powerp~1 by kripkenstein · · Score: 5, Funny

      Of course - this is a feature, not a bug.

      Henderson_Presentation_2005.doc is HENDER~1.doc,
      Henderson_Presentation_2006.doc is HENDER~2.doc,
      Henderson_Presentation_2006 (unedited).doc is HENDER~3.doc.

      Clearly, we are reaping the benefits of a well-thought-out platform here.

    4. Re:c:\progra~1\Micros~1\Powerp~1 by stupidfoo · · Score: 4, Insightful

      The problem with that is that it goes to the first one in alphabetical order. So if you had c:\program files\Microsaucer and c:\program files\Microsoft it will go to microsaucer.

    5. Re:c:\progra~1\Micros~1\Powerp~1 by Bill,+Shooter+of+Bul · · Score: 1

      Autocomplete via Tab key was only made avilible wint winxo's cmd.exe. Prior to that the tildas were the way to go for command line, for boxes that I didn't just install Freedos command.exe which allowed tab completion.

      --
      Well.. maybe. Or Maybe not. But Definitely not sort of.
    6. Re:c:\progra~1\Micros~1\Powerp~1 by Anonymous Coward · · Score: 2, Informative

      Not so. It goes to the first created file. So if you create microsauer, then microsoft, but delete microsauer later, microsoft will stay as Micros~2

    7. Re:c:\progra~1\Micros~1\Powerp~1 by cortana · · Score: 2, Interesting

      Ugh, I hate that behaviour. I wish it would use readline's default behaviour. The alternatives ('microsoft' and 'microsaucer') would be listed, and after that the original prompt completed up to 'micro' would appear.

      (Readline is the line input library used by Bash and lots of other GNU/Linux software that presents a command-line interface).

    8. Re:c:\progra~1\Micros~1\Powerp~1 by johu · · Score: 1

      No it doesn't - unless ProGrabber was present on disk before you installed Windows. Since you likely installed it from Windows it's called Progra~2 instead. Short filenames are created at the same time with long ones and they don't change when something overlapping is created, new one just gets mangled slightly differently.

    9. Re:c:\progra~1\Micros~1\Powerp~1 by Anonymous Coward · · Score: 0

      Tilde fucked me up one time. I was restoring a Windows backup and it restored some file with a long file name. There was some reference to it that was using the tilde form, but the number had changed on restoring the backup (Windows backup apparently doesn't store that).

    10. Re:c:\progra~1\Micros~1\Powerp~1 by Anonymous Coward · · Score: 0

      Not quite: in Win2K you can activate it via the registry. Set HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor\CompletionChar to 9. Or use the same path under HKEY_CURRENT_USER to just change your own preference.

    11. Re:c:\progra~1\Micros~1\Powerp~1 by stevey · · Score: 1
      Autocomplete via Tab key was only made avilible wint winxo's cmd.exe.

      Not true.

      It was available in Windows 2000, but required a registry edit to turn on.

      In Windows XP it became on-by-default.

    12. Re:c:\progra~1\Micros~1\Powerp~1 by Bill,+Shooter+of+Bul · · Score: 1

      Now you tell me. Where where you in 2000? oh well FreeDos' Command.com did other things well too.

      --
      Well.. maybe. Or Maybe not. But Definitely not sort of.
    13. Re:c:\progra~1\Micros~1\Powerp~1 by jozeph78 · · Score: 1

      Of course - this is a feature, not a bug.

      Henderson_Presentation_2005.doc is HENDER~1.doc,
      Henderson_Presentation_2006.doc is HENDER~2.doc,
      Henderson_Presentation_2006 (unedited).doc is HENDER~3.doc.

      Clearly, we are reaping the benefits of a well-thought-out platform here.


      So what then is Henderson_Presentation_2015.doc? Stack overflow?

      --
      Ever done a `man` on `top` ?
    14. Re:c:\progra~1\Micros~1\Powerp~1 by creepynut · · Score: 2, Informative

      Or more simply put: Once a folder is created as PROGRA~1, it stays PROGRA~1. It doesn't cycle.

      The number is incremented in the order the folders are created, not alphabetically.

      Though, I recall on at least one occasion some sort of massive registry failure, requiring that I reinstall Windows 95. From then on, my Program Files folder was known as PROGRA~2.

    15. Re:c:\progra~1\Micros~1\Powerp~1 by creepynut · · Score: 1

      Assuming 1 per year, it'd be HENDE~12.DOC

      2007 - ~4
      2008 - ~5
      2009 - ~6
      2010 - ~7
      2011 - ~8
      2012 - ~9
      2013 - ~10
      2014 - ~11
      2015 - ~12

    16. Re:c:\progra~1\Micros~1\Powerp~1 by Anonymous Coward · · Score: 0

      micros~1

      Anyone who's been flamed for using the tired old acronym "M$" in your Slashdot post, here is the perfect alternative!

    17. Re:c:\progra~1\Micros~1\Powerp~1 by Sentry21 · · Score: 1

      Except when you already have a 'Progra*' directory when you reinstall windows - for example, 'Program Files Old', or 'Program Data'. Suddenly, all the apps that use c:\progra~1 will break, your muscle memory will work against you, and all kinds of other hackery will ensue. Not a pretty picture.

    18. Re:c:\progra~1\Micros~1\Powerp~1 by RetroGeek · · Score: 2, Insightful

      This happened because backup processes the files in alpha order by their long file name. And Windows does not allow a program to specify the short file name.

      So "Program Files" becomes progra~1 and "Program Access" becomes progra~2.

      "Program Access" gets backed up first with "Program Files" backed up next.

      Upon restore, "Program Access" is first, and thus becomes progra~1, then "Program Files" which becomes progra~2.

      Oops!

      And many MANY applications still use 8.3 to locate files, including many MS applications.

      So if you are going to do file backups, you should really do disk images, as file by file backups may cause serious system failure upon restore.

      Disclaimer: AFAIK, this was the situation up to Win2K. It may have been resolved since then.

      --

      - - - - - - - - - - -
      I am a programmer. I am paid to produce syntax not grammar. Deal with it.
    19. Re:c:\progra~1\Micros~1\Powerp~1 by creepynut · · Score: 1

      I'm fairly certain Win2k/XP don't store the filenames natively in 8.3 format. I recall an option in Windows 2000 (which I can't seem to find in Windows XP Pro) to disable/enable 8.3 filenames at all. A help message said something along the lines of: "If you use any old MS-DOS or Windows 95 applications you should enable 8.3 filenames to prevent data loss."

    20. Re:c:\progra~1\Micros~1\Powerp~1 by drinkypoo · · Score: 1
      micros~1
      Anyone who's been flamed for using the tired old acronym "M$" in your Slashdot post, here is the perfect alternative!

      MICROS~1 appears to be already played out. I just keep using M$ occasionally. It separates the noobs from the geeks; real geeks remember when we all called them "Micro$oft" just like "Compu$erve".

      Anyone who flames you for calling Microsoft "Micro$oft" or "M$" is a poser.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    21. Re:c:\progra~1\Micros~1\Powerp~1 by Anonymous Coward · · Score: 0

      Actually, it was creation order, not alphabetical order, or you would have needed to change short file names when you added additional files.

      One pet peeve I have with Long file names is they allow punctuation and white space, which by itself is forgivable, but MS went ahead with directory names like "Program Files" as standard practice, what a PITA.

    22. Re:c:\progra~1\Micros~1\Powerp~1 by jozeph78 · · Score: 1

      Interesting, yet for some reason, dissatisfying.

      --
      Ever done a `man` on `top` ?
    23. Re:c:\progra~1\Micros~1\Powerp~1 by riffraff · · Score: 1

      I remember a problem we had with backups (using windows backup) back in 98. If you had, so "Program Files", which had a short name of Progra~1, then created a file/directory called ProGrabber, it would be created with Progra~2. However, windows backup backed up the files in alphabetical order by long name. So, ProGrabber would be backed up first. However, when restoring, it restored in some funky way, so ProGrabber would be restored and created with a short name of Progra~1, but when "Program Files" was restored, it would restore its short name of Progra~1, which was already taken, so it would overwrite that file/directory. It took us a while to figure why the file was incorrect in those few circumstances, and then figure some way around it.

      Granted, nobody uses windows backup anymore, but if a program doesn't take that kind of issue into consideration, than it could become a problem.

    24. Re:c:\progra~1\Micros~1\Powerp~1 by Loonacy · · Score: 1

      I was looking at that and wondering why exactly you had a \m in there... What character is that? I know ctrl-m is enter, is that what \m is supposed to mean?
      Then I remembered that Windows/DOS uses backslashes for directory seperators instead of as an escape character. Silly me. I've been using Linux for too long. And Macs. And the internet. And just about anything else that isn't Microsoft.
      Those boys at MS just like to march to their own drummer, I guess.

    25. Re:c:\progra~1\Micros~1\Powerp~1 by LiquidCoooled · · Score: 3, Interesting

      From here:

      Use Short File Names

      Every time you create a file with a long file name, NTFS creates a second file entry that has a similar 8.3 short file name. A file with an 8.3 short file name has a file name containing 1 to 8 characters and a file name extension containing 1 to 3 characters. The file name and file name extension are separated by a period.

      If you have a large number of files (300,000 or more) in a folder, and the files have long file names with the same initial characters, the time required to create the files increases. The increase occurs because NTFS bases the short file name on the first six characters of the long file name. In folders with more than 300,000 files, the short file names start to conflict after NTFS uses all the 8.3 names that are similar to the long file names. Repeated conflicts between a generated short file name and existing short file names cause NTFS to regenerate the short file name from 6 to 8 times.

      To reduce the time required to create files, use the fsutil behavior set disable8dot3 command to disable the creation of 8.3 short file names. (You must restart your computer for this setting to take effect.) For more information about disabling 8.3 short file names, see "MS-DOS-Readable File Names on NTFS Volumes" later in this chapter.

      If you want NTFS to generate 8.3 names, improve performance by using a naming scheme in which long file names differ at the beginning of the name instead of at the end.

      For more information about short file names, see "File Names in Windows XP Professional" later in this chapter.

      --
      liqbase :: faster than paper
    26. Re:c:\progra~1\Micros~1\Powerp~1 by Hes+Nikke · · Score: 1

      And before OS X, Macs used : as the path seperator. so we have
      Unix and it's dirivitives - /
      DOS and windows - \
      Mac - :

      anyone have any more examples?

      --
      Don't call me back. Give me a call back. Bye. So yeah. But bye our, well, but alright we are on a shirt this chill.
    27. Re:c:\progra~1\Micros~1\Powerp~1 by DarkVader · · Score: 1

      I thought they were generally M$ employees...

    28. Re:c:\progra~1\Micros~1\Powerp~1 by Drooling+Iguana · · Score: 1

      I always preferred that one, since it calls attention to Microsoft's shoddy products, instead of the mere fact that they have a lot of money, which I never saw as a crime in itself.

      --
      ... I'm addicted to placebos
    29. Re:c:\progra~1\Micros~1\Powerp~1 by Anonymous Coward · · Score: 0
      The problem with that is that it goes to the first one in alphabetical order. So if you had c:\program files\Microsaucer and c:\program files\Microsoft it will go to microsaucer.


      Nope. It goes by creation date.
    30. Re:c:\progra~1\Micros~1\Powerp~1 by petermgreen · · Score: 1

      NTFS doesn't use short filenames as part of its basic structure but it still supports them and has them enabled by default for compatibility. FAT (whether 12,16 or 32) uses short filenames as a basic part of the structure.

      either way if you run a file based backup and restore and the short names end up different then some older stuff is liable to break.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    31. Re:c:\progra~1\Micros~1\Powerp~1 by julesh · · Score: 1

      it will also keep working when the silly ~1 convention is abandoned.

      So now all you need to do is set HKLM\SYSTEM\CurrentControlSet\Control\FileSystem\N tfsDisable8dot3NameCreation to 1 and you're ready to go.

  4. Ouch by Anonymous Coward · · Score: 0

    What a useless story...

    The one part that looked slightly interesting was the tips for removing Linux files whose filenames contains symbols you can't decipher, but the article inexplicably said it would tell us how and then continued to waste more of my life.

    1. Re:Ouch by chrismcdirty · · Score: 3, Informative

      Did you somehow miss the link? It basically said to remove files with a preceding '-' (-filename) you do 'rm -- -filename' or 'rm ./-filename'. And to remove a file with unprintable characters try 'rm file?with?unprintable?characters'.

      --
      It's like sex, except I'm having it!
    2. Re:Ouch by KDR_11k · · Score: 1

      Admit it, you tried deleting a file named "-rf /".

      --
      Justice is the sheep getting arrested while an impartial judge declares the vote void.
  5. Re:help!!! by Anonymous Coward · · Score: 0

    Similarly off-topic: XMMS for Linux of WinAmp for Windows

  6. I RTFA by grasshoppa · · Score: 4, Insightful

    But in this particular case, the summary has as much meat as the story, with the added benefit of saying it in a paragraph instead of several ( and even that's too long ).

    For those of you who haven't read it, here it is: Windows, Linux and Mac OS X all support long file names, albeit differently. Linux is case sensitive, the others are not.

    Tada! Two sentances. I imagine, were I a perl coder, I could have done it in half of one, but there you go.

    --
    Mod me down with all of your hatred and your journey towards the dark side will be complete!
    1. Re:I RTFA by rtyall · · Score: 5, Funny

      I've just heard that all 3 Operating Systems support reading CDRoms? Is this true, can anyone confirm this revelation?

    2. Re:I RTFA by Billosaur · · Score: 1

      Tada! Two sentances. I imagine, were I a perl coder, I could have done it in half of one, but there you go.

      Speaking as a Perl coder, I strongly obj...

      --
      GetOuttaMySpace - The Anti-Social Network
    3. Re:I RTFA by 99BottlesOfBeerInMyF · · Score: 1

      Linux is case sensitive, the others are not.

      Hopefully you meant, OS X is case sensitive, the others are not?

    4. Re:I RTFA by Anonymous Coward · · Score: 2, Informative

      err... no.

      linux et,al. == case sensitive
      windows == case insensitive
      OSX == case preserving

      Try to keep up.

    5. Re:I RTFA by JM+Apocalypse · · Score: 1

      10.4 is case sensitive, earlier versions are not. The author has probably never touched a mac.

      --

      - - - - - - -
      Orppf urp mf y.ppcxn. yflcbi otcnnov C am yflcbi yr n.apb Ekrpatv (Dvorak -> Qwerty)
    6. Re:I RTFA by mrchaotica · · Score: 2, Informative

      OS X is not case sensitive by default. It is case preserving, meaning that "Foo.txt" will still be "Foo.txt" when you move it or whatever (unlike in Windows, where it could turn into "FOO.TXT", but both names are still exactly the same file. Beware of this when copying files from a Linux (or otherwise case sensitive) filesystem to a Mac!

      Now, OS X does have the option to use case sensitive HFS+ (or UFS, for that matter), but last I heard either is likely to cause problems if you try to use it as the root volume (i.e. the one the OS is installed on).

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    7. Re:I RTFA by kimvette · · Score: 5, Informative

      Actually all three can be case sensitive.

      Linux always is, by default (I don't know if you can make it otherwise without a LOT of hacking).

      Windows: it is case "retentive" by default (it remembers cases as typed) but not case sensitive. It (full case sensitivity) can be enabled through a registry hack or two, or by selecting the "enable case sensitivity" option when installing SFU, at the cost of possibly breaking backwards compatibility with many applications.

      Mac: OS 9 (and earlier) were case retentive only. OS X is case retentive (no sensitive) by default, however, if you install on a UFS filesystem it will become case sensitive, and just as with Windows, possibly breaking backwards compatibility with many applications.

      --
      The Christian Right is Neither (Christian nor right). See: Matthew 23, Matthew 25, Ezekiel 16:48-50
    8. Re:I RTFA by admdrew · · Score: 4, Funny

      Windows supports them, but you'll get frustrated and eventually give up trying to use a CD due to the annoying Autorun 'feature.' MacOS supports them, but calls them iCD-Roms, and only allows the reading of U2 CDs purchased from iTunes. And yes, for chrissake, Linux supports them; all you have to do is write your own driver... didn't you RTFM at http://forums.linuxcdroms.com/cgi-bin/form.php?cat =drivers&topic=writingcdromdriversforn00bs?!

    9. Re:I RTFA by Anonymous Coward · · Score: 0

      I use case sensative HFS+ and it works fine. The major problems only crop up in the form of third party software (Microsoft especially). I have yet to find software that I really needed that I couldn't find an alternative too because it has FS issues. This makes me wonder about the quality of the software in question when programmers can't be bothered to consistenly reference file names throughout their programs...

    10. Re:I RTFA by amliebsch · · Score: 1
      unlike in Windows, where it could turn into "FOO.TXT"

      Are you still using Windows 3.1 by any chance? Because I haven't observed this behavior in about a decade.

      --
      If you don't know where you are going, you will wind up somewhere else.
    11. Re:I RTFA by zootm · · Score: 1

      Windows can be case sensitive too, I guess it's worth noting. It's just not by default. It is also case preserving in general.

      Another message implied that OSX is case sensitive in certain circumstances, which is believable too. If only these things were simple.

    12. Re:I RTFA by linvir · · Score: 1

      TFM at your link is outdated as of kernel 2.6.10. There is a patch available, but you need to read the 30-page forum discussion first: http://forums.linuxcdroms.com/forum.php?topic=3454 5432&page=2&highlight=patch#324234

    13. Re:I RTFA by mrchaotica · · Score: 1

      No, I'm using XP (at work -- I don't use Windows at home, except for Half-Life). I'm not sure exactly what caused it, though; I either noticed it only using cmd.exe or it was due to some badly-behaved third-party software.

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    14. Re:I RTFA by schon · · Score: 1

      Two sentances. I imagine, were I a perl coder, I could have done it in half of one

      Yeah, but nobody else would be able to understand it. :o)

    15. Re:I RTFA by nine-times · · Score: 1

      You can also format HFS+ volumes to be case sensitive, but that's a new thing. The problem is, switching to a case insensitive file system to a case sensitive one will break a lot of apps. Any developers who weren't paying attention to that sort of thing (and why would we expect them to?) might very well have to troubleshoot their apps and re-release.

    16. Re:I RTFA by Anonymous Coward · · Score: 0
      Windows can be case sensitive too, I guess it's worth noting.

      No, it's not really worth noting. But I believe your momma can be case sensitive. (When she really wants to be, that is.)

    17. Re:I RTFA by BillGodfrey · · Score: 1
      Windows can be case sensitive too, I guess it's worth noting. It's just not by default.

      You say it like its a good thing. *.[Jj][Pp][Gg]

    18. Re:I RTFA by morgan_greywolf · · Score: 1
      Linux always is, by default (I don't know if you can make it otherwise without a LOT of hacking).


      Linux is case retentive (not sensitive) when operating on mounted VFAT, ISO9660, CIFS and (I think) UMSDOS volumes by default (this can be changed).

      It might even be possible to run Linux with a VFAT root, but I've never tried it. There are various distros that are designed to run on UMSDOS partitions, though. Anyway, Linux behaves similar to Cygwin when operating on VFAT partitions.

    19. Re:I RTFA by crawling_chaos · · Score: 1

      Furthermore, someone actually referred to the patch as being Open Source, so now Debian isn't going to package it. They're busy working on the Free Software driver for punchcard readers.

      --
      You can only drink 30 or 40 glasses of beer a day, no matter how rich you are.
      -- Colonel Adolphus Busch
    20. Re:I RTFA by mrchaotica · · Score: 1

      First of all, I wouldn't name my files with an uppercase extension to begin with. Second, you can tell grep to be case-insensitive (though I don't know how to do so with shell globbing). Third, slightly more complicated regular expressions are better than accidentally obliterating files because you copied some with names differing only in capitalization.

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    21. Re:I RTFA by tokenturtle · · Score: 1

      I have case-sensitive enabled on my root volume and have never really encountered any problems with it. I have to occasionally edit poorly written dashboard apps to correct Images/images inconsistencies, but that's about it.

    22. Re:I RTFA by fwankypoo · · Score: 1

      I've been using a case sensitive HFS+ volume as my root volume for at least 6 months now without any problems at all. Hooray for anecdotes!

      --
      The time of day is 29:33.
    23. Re:I RTFA by SanityInAnarchy · · Score: 1
      eve:~ sanity$ cd test
      eve:~/test sanity$ ls
      eve:~/test sanity$ touch a
      eve:~/test sanity$ touch A
      eve:~/test sanity$ ls
      a
      eve:~/test sanity$ rm a
      eve:~/test sanity$ touch A
      eve:~/test sanity$ touch a
      eve:~/test sanity$ ls
      A
      eve:~/test sanity$ rm A
      eve:~/test sanity$

      That looks pretty case insensitive to me. It's case preserving, and if you use a case-sensitive filesystem, it CAN be case-sensitive. But it's case-insensitive by default.

      --
      Don't thank God, thank a doctor!
    24. Re:I RTFA by shippo · · Score: 1

      No, UMSDOS is case sensitive. When low on disk space and needing to run both Linux and Windows a few years ago I ran a system on UMSDOS. It stored the files in FAT in 8.3 format, but used extra files to store the proper long filenames which appeared when the filesystem was mounted as UMSDOS.

      Does this filesystem still exist? It got severely broken during the either the 2.1 or 2.3 kernel tree (I can't remember which - too long ago), and for at least a year wasn't working at all in the development kernel.

    25. Re:I RTFA by larkost · · Score: 1

      Actually, would that not be "weekly obj..."?

    26. Re:I RTFA by Jabrwock · · Score: 1

      The problem is, switching to a case insensitive file system to a case sensitive one will break a lot of apps.

      I know it's a temporary hack, and I agree that any coders who make such an assumption about case should fix their stuff, but usually the program will complain about what file it's looking for ("library" instead of "Library"), and you can go into the terminal and make a hard link from the incorrect one it's looking for to the properly "cased" one. I had to do that to a few apps's interal files in order to make them work.

      --
      Magic doesn't work in my presence. My power of disbelief is too strong.
    27. Re:I RTFA by kamochan · · Score: 1

      I've run case-sensitive in multiple OSX machines for about a year. I reverted to case-insensitive on my gaming desktop, because some games didn't find their own files... No problems with regular OSX apps or open source stuff (and no need to kludge pkgsrc bootstrap either) in the servers or laptops.

      When installing, you need to partition using Disk Utility instead of the helpful installer single-click thingy. Easy as pie (but you do need to know the option exists).

    28. Re:I RTFA by BillGodfrey · · Score: 1

      First of all, I wouldn't name my files with an uppercase extension to begin with.
      I have some applications that do that. I can also be emailed files or I could download files named by other people.

      Second, you can tell grep to be case-insensitive (though I don't know how to do so with shell globbing).
      Neither do I. cp $(find . -iname '*.jpg') ../images or maybe cp $(ls | grep -i '\.jpg$') ../images which both have their own issues.

      Third, slightly more complicated regular expressions are better than accidentally obliterating files because you copied some with names differing only in capitalization.
      Therein lies the trade-off. Speaking only for myself, when I use Windows/Cygwin, I've never yet had that problem. On the other hand, I have repeatedly cursed TAB-completion for not "working" because I only remembered a directory name without remembering the case of the first letter, as well as the complication of doing *.JPG "correctly".

      From my point of view, its a bad trade, but YMMV.

    29. Re:I RTFA by ArsonSmith · · Score: 2, Funny

      Sweet, 10.4 is much better than the old 8.3 that DOS used. MACs really are cooler all around.

      --
      Paying taxes to buy civilization is like paying a hooker to buy love.
    30. Re:I RTFA by Anonymous Coward · · Score: 0

      If you are using FAT from an NT based system (Win 2k, XP, etc) it will fudge filename case on filenames that fit in the 8.3 pattern. Check out the directory table byte offset 0x0c - it determines if the filename is upper or lower case. Meaning Foo.txt may become FOO.txt while foo.txt stays foo.txt....

      http://en.wikipedia.org/wiki/File_Allocation_Table #Directory_table

    31. Re:I RTFA by Fred_A · · Score: 0
      Windows, Linux and Mac OS X all support long file names, albeit differently. Linux is case sensitive, the others are not.
      The others are "case preserving" (Mac OS can be case sensitive, why it isn't by default is a bit of a mystery). And Windows doesn't really support long file names, the full file name (full path included) cannot exceed 255 characters. Maybe it will be fixed it Vista. Ah, unless that was a WinFs feature (snicker).
      --

      May contain traces of nut.
      Made from the freshest electrons.
    32. Re:I RTFA by Deaths+Hand · · Score: 1

      From what I remember, the FS layer in the Windows NT (2000/XP) kernel is case sensitive, but how the rest of the system sees the file names depends upon which subsystem you are using. The Win32 sub system will allow case-insestive access (case retentive though). If an application was using the Posix subsystem (rare though that is) all the file names would be case sensitive.

      I could be wrong on this though, because it is ages since I've done any coding on Windows.

    33. Re:I RTFA by Simonics+Zsolt · · Score: 1

      (Mac OS can be case sensitive, why it isn't by default is a bit of a mystery) Because case sensitivity is all "unhuman"? Because if a person reads 'APPLE', 'apple' and 'Apple', for him, all of them means the same fruit(or company)? I don't understand what is the reason behind case sensitivity at all. I think it's the same as "hey, let's start counting from zero instead of one!". Painful legacy.

    34. Re:I RTFA by PCM2 · · Score: 1
      I've just heard that all 3 Operating Systems support reading CDRoms? Is this true, can anyone confirm this revelation?

      <humorless>Yes, but the way in which they support long filenames on their default CD-ROM filesystems varies widely.</humorless>

      --
      Breakfast served all day!
    35. Re:I RTFA by jonadab · · Score: 1

      > Linux always is, by default (I don't know if you can make it otherwise
      > without a LOT of hacking).

      Very little hacking is required. Mostly you have to use a case-insensitive filesystem instead of a case-sensitive one. Most of the filesystems that are really popular on Linux are case-sensitive, but Linux _supports_ various non-case-sensitive filesystems, most obviously vfat. (The unfortunate thing about vfat is that it doesn't support symlinks, although it certainly could be _made_ to do so (via the .lnk mechanism under the hood, which could be transparent to the user if desired) if some studious programmer were so inclined.)

      If you meant, make ext2/3 case-insensitive, then I suppose that might be harder.

      --
      Cut that out, or I will ship you to Norilsk in a box.
    36. Re:I RTFA by jez9999 · · Score: 1

      Why would you want to switch TO a case-sensitive filesystem? Could somebody actually tell me that? It seems like only Linux has it by default because when Unix (which it was based on) was written, they hadn't thought of anything better.

      In my experience, all case sensitivity does is make filenames look uglier because people end up writing eveyhting in lowercase to avoid mistakes. Are you REALLY going to have a 'Data2' and a 'data2' in the same directory? If so, I suggest you redesign your application.

    37. Re:I RTFA by jez9999 · · Score: 1

      Third, slightly more complicated regular expressions are better than accidentally obliterating files because you copied some with names differing only in capitalization.

      Erm, surely the point is that it's better to use a filesystem that doesn't LET you have files with names differing only in capitalization in the first place.

    38. Re:I RTFA by mrchaotica · · Score: 1

      First of all, as far as I know except for Mac OS all UNIX systems are case-sensitive. That in itself is a reason to use a case-sensitive filesystem even if it wasn't better: because UNIX makes up for it.

      Second, I'd rather have the flexibility of using any character I want, just in case. I mean, uppercase and lowercase letters are different UNICODE values, so why should the filesystem treat them any differently from every other character by merging them together?

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    39. Re:I RTFA by kbielefe · · Score: 1
      They all technically can read CD-ROMs, but you have to be careful because Microsoft Windows is much more "interoperable" than the other two. All three operating systems can read the filesystem from a CD created by a Windows machine, but it is possible to make CD filesystems on a Mac or Linux machine that a Windows machine doesn't even know how to read!

      It doesn't stop there. Linux people also like to use OpenDocument format, which is so non-interoperable that Microsoft Word doesn't even support it!

      --
      This space intentionally left blank.
    40. Re:I RTFA by webzone · · Score: 1

      err... no.

      Mac OS X 10.3 and later support a case sensitive file system, but it is not used by default.

    41. Re:I RTFA by julesh · · Score: 1

      The behaviour still exists, but it isn't quite the same behaviour you think it is.

      What windows *actually* does, is take any file on a FAT system that doesn't have an associated long filename (and therefore doesn't have any identifier of case, because that's associated with the long name entry), and convert it to first letter upper case and remainder lower case *for display purposes*.

      But parts of this system ignore this convention, and if you make a copy of the file in some circumstances you'll get it all in block caps, because this is how it is stored on the disc.

      Of course, in order for this to happen, you need to have a disc with files on it that don't have long name entries, which means either having old discs, discs that are accessed by devices that only use short names (some digital cameras fall into this category), or a system where you've disabled long name creation.

    42. Re:I RTFA by Durandal64 · · Score: 1

      Actually, Dashboard widgets are repeat offenders in terms of lazy developers not respecting case. I don't know what it is about widgets, but the people who write them just don't like respecting case for some reason. Also, Adobe's products get fucked when run from a case-sensitive volume. And a lot of games do as well.

      My solution is to have a case-insensitive partition laying around and put the crap written by careless developers on there. In the case of widgets, I have to go in and manually fix them. The other option is to create a disk image as case-insensitive and put your crap-tastic apps on there.

    43. Re:I RTFA by Guy+Harris · · Score: 1
      linux et,al. == case sensitive
      windows == case insensitive
      OSX == case preserving

      Err... no.

      Linux, et al with their default file systems == case-sensitive
      Windows, OS X with HFS+ == case-insensitive
      All of the above == case-preserving (except maybe Windows with VFAT).

      "Case-preserving" just says whether, if you supply the name "CamelCase.txt" in a call to create a file, the file ends up called "CamelCase.txt" or ends up as "camelcase.txt" or "CAMELCASE.TXT" or something annoying such as that. A case-sensitive system will almost certainly be case-preserving (anything else would be silly); a case-insensitive system can be case-preserving or not, but case-preserving is nicer.

    44. Re:I RTFA by Guy+Harris · · Score: 1
      Mac OS X 10.3 and later support a case sensitive file system, but it is not used by default.

      Actually, even older versions have a case-sensitive file system. It's called "UFS". :-)

      10.3 and later support HFSX, which is a version of HFS+ extended to support either case-insensitive or case-sensitive file system operations; 10.3's support of HFSX might not have been as complete as 10.4's. As you note, HFSX isn't used by default, so 10.4 is, by default, case-insensitive.

    45. Re:I RTFA by jez9999 · · Score: 1

      First of all, as far as I know except for Mac OS all UNIX systems are case-sensitive. That in itself is a reason to use a case-sensitive filesystem even if it wasn't better: because UNIX makes up for it.

      Rubbish! If it's not better, that's a great reason to change it. Mere momentum is the worst reason to keep something going. Whatsmore, I could make the opposite argument. Because Windows, used by a large majority of the computing world, and Mac OS, have case-insensitive file systems by default, other OSes should fall into line because it may cause problems if trying to convert from one file system to another.

      Second, I'd rather have the flexibility of using any character I want, just in case. I mean, uppercase and lowercase letters are different UNICODE values, so why should the filesystem treat them any differently from every other character by merging them together?

      Because the difference between capitalization is far less relevant than the difference between other unicode characters (such as accented characters) in most Latin-based languages? Because it's very likely to lead to confusion if you only use capitalization to distinguish between two files? Tell me honestly, when was the last time you actually saw 2 files in the same directory distinguished only by capitalization?

    46. Re:I RTFA by Bronster · · Score: 1

      I sense the multinational unicode fu is strong in this one.

    47. Re:I RTFA by Bert64 · · Score: 1

      Actually MacOSX is case sensitive too, but the default filesystem (HFS+) is not... Tiger introduced a case sensitive version of HFS+ which breaks poorly written apps like photoshop, but makes it easier to compile some unix apps.

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    48. Re:I RTFA by jc42 · · Score: 1

      Why would you want to switch TO a case-sensitive filesystem?

      There are many situations where the case-sensitive filesystem is preferable.

      One is a server that needs to store files from other computer systems. A case-sensitive filesystem can simply use the same names that were on the originating systems. A case-insensitive filesystem will occasionally map two files to the same name, losing one of the files (and 50% of the time using the wrong name for the file that's there). But if the filesystem preserves the correct byte values in the file names, you can just copy files to your server, and they maintain the correct name. You don't need to redesign anything.

      This is a special case of a more general observation: If system X allows some particular thing and system Y doesn't, then system X is generally more usable. It may be more complex, of course. Case insensitivity is easy enough to implement at the "library" level in a system that is case sensitive. I've done it in several projects. But you can't easily fake case sensitivity if the file system ignores case. So if you want a general-purpose system, you're better going with the one that doesn't enforce such policy decisions inside the OS kernel.

      There is a different problem with files coming from a system that allows '/' in file names; that one is a bit trickier to solve on a unix server. Are there any file systems that don't have any forbidden characters in file names?

      I've also had the fun of trying to deal with projects that use code from several different sources. It's pretty easy on a conventional unix file system. When I've moved the result to OSX, the result was a nightmare due to the case insensitivity. This is because search paths inherit the case insensitivity. So if package X has a "foo" command and package Y has a "Foo" command, which you get depends on which directory is first in the search path. You find that scripts in X sometimes get "Foo" when they called "foo", and scripts in Y sometimes get "foo" when they called "Foo". Debugging this can take an inordinate amount of time, as there are no "not found" warnings. The software just quietly goes berserk.

      I have advised against OSX (except as personal workstations) on several projects, and after watching this kind of disaster interfere with work, the managers agreed with me. Too bad, because there are a lot of good things about OSX. And sometimes you're lucky and things just work. But if you're using code from more than one source, you're just inviting a lot of long debugging sessions due to the case insensitivity. It's easier to go with a system that doesn't do that to you.

      If you're building all your own apps from scratch, and never install anyone else's packages, this doesn't apply to you, of course. But I don't want to try using a case-insensitive file system on a server ever again. It's not worth the headaches, especially when linux systems are so cheap and easy to use.

      --
      Those who do study history are doomed to stand helplessly by while everyone else repeats it.
    49. Re:I RTFA by jc42 · · Score: 1
      OSX == case preserving

      On the contrary; OSX doesn't preserve the case of files. Consider this experiment on a handy OSX box:

      : mkdir tmp
      : cd tmp
      : echo foobar >foobar
      : echo fooBar >fooBar
      : ls -l
      total 8
      -rw-r--r-- 1 jc jc 7 Jul 11 09:49 foobar
      : cat foobar
      fooBar
      :


      This is also what happens if you, for example, use scp or rsync to copy files to an OSX system. Note that the file fooBar is the one that exists, but its name is "foobar". The case has not been preserved (and the original "foobar" file has been lost).

      Some other descriptive phrase is needed here. "Case preserving" is incorrect and misleading, as the the case of a file name is not preserved in such situations.

      --
      Those who do study history are doomed to stand helplessly by while everyone else repeats it.
    50. Re:I RTFA by jez9999 · · Score: 1

      One is a server that needs to store files from other computer systems. A case-sensitive filesystem can simply use the same names that were on the originating systems. A case-insensitive filesystem will occasionally map two files to the same name, losing one of the files (and 50% of the time using the wrong name for the file that's there). But if the filesystem preserves the correct byte values in the file names, you can just copy files to your server, and they maintain the correct name. You don't need to redesign anything.

      The only circumstance I can see this happening is if you have two files in the same directory, only distinguished by case, or two directories in the same dir, only distinguished by case. Can you give me another situation in which that would happen? At this point, I have to say, get your source filesystem sorted out. This should never happen, it's confusing and stupid. Rename any files/directories that are distinguished only by case.

      This is a special case of a more general observation: If system X allows some particular thing and system Y doesn't, then system X is generally more usable. It may be more complex, of course. Case insensitivity is easy enough to implement at the "library" level in a system that is case sensitive. I've done it in several projects. But you can't easily fake case sensitivity if the file system ignores case. So if you want a general-purpose system, you're better going with the one that doesn't enforce such policy decisions inside the OS kernel.

      Although this may apply to system elements that the user does not have to use (on a default install) such as having a million-and-one text editors installed, it doesn't apply to ones that they do have to. There are definitely times when allowing something is seen as worse than not allowing something, as evidenced by many complaints I've heard against Windows (allowing file extension to control execution permission, allowing hiding of file extensions, allowing a scripted page for a desktop, etc.). No, in this case, allowing that extra thing is far worse than not allowing it, IMHO. Just because you can make up for it in the shell doesn't rectify the underlying problem. Besides, most Linux shells certainly DON'T make up for it.

      I've also had the fun of trying to deal with projects that use code from several different sources. It's pretty easy on a conventional unix file system. When I've moved the result to OSX, the result was a nightmare due to the case insensitivity. This is because search paths inherit the case insensitivity. So if package X has a "foo" command and package Y has a "Foo" command, which you get depends on which directory is first in the search path. You find that scripts in X sometimes get "Foo" when they called "foo", and scripts in Y sometimes get "foo" when they called "Foo". Debugging this can take an inordinate amount of time, as there are no "not found" warnings. The software just quietly goes berserk.

      Right, so those projects *happen* to play nicely together if case-sensitivity is enabled. I'm not sure exactly what ones you're talking about, but are you saying that you never get the problem of two filenames being EXACTLY the same (many projects just put every file in lowercase to avoid case-sensitivity confusion); every two files that conflict happen not to conflict on case? This just sounds like a lazy answer. 'Software package commands are badly named and rely on case-sensitivity to distinguish them'. Fix the software, name it properly. This is just apologising for piss-poor, lazy naming conventions.

      But if you're using code from more than one source, you're just inviting a lot of long debugging sessions due to the case insensitivity. It's easier to go with a system that doesn't do that to you.

      Or... 'This is a good idea, because what I'm using is broken and I don't mind it staying broken as long as I can make use of an obscure feature that lets it keep working'. No; fix the file naming conventions.

      If you're build

    51. Re:I RTFA by jc42 · · Score: 1

      The only circumstance I can see this happening is if you have two files in the same directory, only distinguished by case, or two directories in the same dir, only distinguished by case. Can you give me another situation in which that would happen? At this point, I have to say, get your source filesystem sorted out. This should never happen, it's confusing and stupid. Rename any files/directories that are distinguished only by case.

      If I'm the one running a web server, it's not my job to modify my users' web sites. Not only do I not have the time to rewrite their stuff; if I do so, they'll probably look for some other place to host their stuff. And I wouldn't put up with such arrogance on the part of the managers of a machine that hosts any of my stuff. They might be able to tell me that some content (such as pr0n and malware) isn't allowed. But renaming my files and rewriting my code is far beyond the pale.

      I particular, a webmaster has no business doing something like telling customers that their files are capitalized wrong. Sorry, but that's what I'd call "stupid". I won't do it, and I don't expect any other webmaster to do it.

      If an OS requires me to modify such things on my customers' web sites, well, I'll just find a different OS. One that lets me simply upload a customers' files and plop them down on the disk unaltered. Any competent OS should allow that. If not, it's not good enough to be used as a web server.

      --
      Those who do study history are doomed to stand helplessly by while everyone else repeats it.
    52. Re:I RTFA by Anonymous Coward · · Score: 0

      There are definitely times when allowing something is seen as worse than not allowing something, as evidenced by many complaints I've heard against Windows (allowing file extension to control execution permission, allowing hiding of file extensions, allowing a scripted page for a desktop, etc.).

      That's not allowing, that's DOING - and by default even. Linux allows file extensions to control execute permission, at least on FAT filesystem, but in normal use it's off. Linux allows hiding file extensions (actually, Linux doesn't care at all, that's the job of the file manager). Linux allows having a scriptet page for a desktop (Or even an executable like xearth - again, Linux doesn't care, it's up to the desktop manager).

      The difference: Linux allows, Windows does. It may be possible to turn off those things in Windows, but until you do so, it doesn't merely allow them, it DOES them. Linux does not. You need to ask for it.

      Likewise, allowing me to have two files named "apple" and "Apple" shouldn't bother anyone who doesn't want to. It's not forcing me to, and it doesn't create "Apple" all by itself when I create "apple". On the other hand I have lost files because of FAT insisting that two directories with different names were the same directory.

    53. Re:I RTFA by Anonymous Coward · · Score: 0

      Because if a person reads 'APPLE', 'apple' and 'Apple', for him, all of them means the same fruit(or company)?

      In which country?

      Around here, and in english speaking countries like the UK (not sure about the , "apple" is the fruit, and "Apple" is the company. Anyone who paid even a little bit attention in first grade know that. Names are capitalized, nouns are not.

      I can eat an apple, but I wouldn't recommend eating an Apple, especially not one of the laptops, as they might catch fire in your stomach, burning you up from the inside.

    54. Re:I RTFA by jez9999 · · Score: 1

      I disagree. Linux is DOING as well. It's imposing on me the policy that I can have two same-named files, save capitalization, in the same dir, even when I dont want it to. You can actively force something on your users by allowing stuff, too; the ability to have silly behaviour. Case-sensitive filesystems are one example. I would like Windows NOT TO OFFER the option of hiding file extensions, I'd like it NOT TO OFFER the option of using file extension to make a file executable, and NOT TO OFFER the ability to have a scripted page as a desktop too. There are some things it's sensible for an OS not to do.

    55. Re:I RTFA by Fred_A · · Score: 1
      Because if a person reads 'APPLE', 'apple' and 'Apple', for him, all of them means the same fruit(or company)?
      Unless possibly he paid attention to grammar and spelling in school ? Notably the rules pertaining to the capitalization of nouns ? Maybe to the SMS writing crowd they all look the same but us old geezers actually see them differently when we squint.
      --

      May contain traces of nut.
      Made from the freshest electrons.
    56. Re:I RTFA by bar-agent · · Score: 1
      This is a special case of a more general observation: If system X allows some particular thing and system Y doesn't, then system X is generally more usable.


      You mean, because OS X allows you to refer to a file without getting the case exactly right, and Linux does not, OS X is generally more usable?

      Can't argue against that. :)
      --
      i'd hit it so hard, if you pulled me out you'd be the king of britain [bash.org]
  7. Beagle requires xattrs by user9918277462 · · Score: 1

    Beagle is one of the coolest tools available for Linux desktops and it requires xattrs on indexed filesystems, so yes, my /home and / have xattrs enabled.

    1. Re:Beagle requires xattrs by acb · · Score: 1

      What if your home directory is on a NFS server? Is there any way to get Beagle to put its metadata elsewhere?

    2. Re:Beagle requires xattrs by metamatic · · Score: 1

      Pity Beagle requires Mono.

      --
      GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
    3. Re:Beagle requires xattrs by mrchaotica · · Score: 1

      No, it's a pity Mono is tainted by reliance on Microsoft. The language and libraries themselves are not bad. Besides, what other managed environment would you suggest using? Java? Python? Lisp?

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    4. Re:Beagle requires xattrs by metamatic · · Score: 1

      Well, Java already has Lucene to leverage. But given that search needs to be fast to be useful, I'd be inclined to use native code.

      --
      GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
    5. Re:Beagle requires xattrs by dbIII · · Score: 1

      Personally I think tying a application such as this directly to the filesystem and modifying file attributes is a bit short sighted and may lead to unexpected pain. What currently happens with multiple beagles are running which are owned by different users in a shared ext3 directory? The application shouldn't care where the file is or what it is sitting on - that is the operating systems job unless you want to go for the single user non network aware approach. Less cool not invented here options like using a database to keep track of stuff instead of modifying files used by other applications have the advantage that you could use it to index read only volumes - so I like the idea of using the sqlite option in beagle more than using the extended attributes.

  8. spaces bad, special chars bad by yagu · · Score: 5, Interesting

    Why are computer file names and conventions and protocols so messed up? It's bizarre -- and Microsoft has been one of the worst offenders with one of the most powerful positions and opportunities to make it a better filename-naming world.

    I had worked in the DOS world long ago, and I'd always been frustrated with not only the restriction of the 8.3 naming convention, but the added imposition of:

    1. the requirement the ".3" portion be satisfied, i.e., if you didn't give a ".3" extension, it wasn't valid.
    2. the semantic mapping of the extension to filetype, WTF?
    3. the implied (don't remember if it was canonical) semantic that no ".3" extension meant the file was a directory
    4. the case insensitive nature of file names
    5. etc. (or should I say, .etc)

    Many years later, I had opportunity to consult in the Windows/DOS world after having worked in the Unix world for over a decade -- figured Microsoft had had enough time and money to work out the kinks in what had obviously been an early-technology constraint for the brain dead old DOS naming restrictions. Not. Sigh.

    And then the transition was a nightmare, whoever conjured up the VFAT naming format and the "tilde" mapping backwards compatibility to FAT names should have been shot. A golden opportunity lost.

    And then everything swings completely the other direction where anything goes. This may curry favor with users, but wreaks havoc on billions of lines of code which all of a sudden choke on what had been simple parsing routines -- fixable, but at great expense. I still think this was a paradigm shift that somehow could have accommodated the user space/community but still allowed some sanity in the machine world.

    But layered on, or dovetailed into that quagmire is the Microsoft insistence they "know better than thou"... and the condescending insistence of dragging the ".3" extension nightmare into the new rules for file naming. Would have been okay to "allow" ".3" naming, but to impose the bizarre rules and behaviors Microsoft has? (How many of you have files named picture.jpg.jpg.jpg out there?)

    Options to show extension, defaults to hide extensions, and continued reliance and semantics applied to extensions continue to make the filenaming world a landmine field.

    And, Microsoft dares to allow mixed case naming, but does case insensitive handling of file names... don't even get me started about some of the bizarre results and buggy behavior I've traced to that. I only wish I'd had a chargeback code for all of the time I've spent fixing and debugging systems that all come back to the file naming. Sigh, again.

    All of this isn't to let Unix and Unix style file naming skate. I've had problems, though fewer, there. But, at least it's seemingly (to me) more consistent and predictable, though there has been what I call "Windows" creep in that there have appeared some apps that somehow think managing and imposing "transparently" the extension to "file type" mapping is a good thing (it's not).

    (One of the funniest Unix debacles I experienced was debugging a groups application -- they were moving files around and losing all but one each processing cycle... turned out they were remote copying from one Unix that had 14 (or more, can't remember) char limit on file names to an old SunOS system that allowed only 11. The remote copy that moved files from one system to the other for subsequent processing did so without complaint, the receiving side silently truncated the incoming files -- which were identical in name through 11 chars... essentially copying the incoming files over and over again on top of the same file... Sigh and sheesh!)

    1. Re:spaces bad, special chars bad by Chris+Graham · · Score: 5, Insightful

      You have some good points, but I really can't agree with two of your complaints... "the semantic mapping of the extension to filetype, WTF" It seems far better to me than mime-types or magic strings. Mime-types fail due to not being actually encoded on-filesystem, and magic strings require users to use a hex editor to try and identify an alien file type. "the case insensitive nature of file names" Case sensitivity is a big usability issue for people, so burdening the few (the programmers) so that the majority (the users) don't get confused, is a fair trade of IMHO.

    2. Re:spaces bad, special chars bad by Anonymous Coward · · Score: 0
      5. etc. (or should I say, .etc)

      No, you shouldn't.
    3. Re:spaces bad, special chars bad by 1u3hr · · Score: 4, Informative
      the requirement the ".3" portion be satisfied, i.e., if you didn't give a ".3" extension, it wasn't valid.
      the semantic mapping of the extension to filetype, WTF? the implied (don't remember if it was canonical) semantic that no ".3" extension meant the file was a directory
      Not true. I used names with no extension for my Wordstar files back in DOS days. Since that's what most of my files were, I made that the simplest. Directories usually had no extension, but you could have if you wanted (some programs did that for their private data).

      Winows 9x and above though do enforce rules on extensions; but worst of all, hide some, or all, of them by default. Thus Anna-Kournikova.jpg.exe. The old Mac OS had it right, the filetype flags were not user-created or normally visible, though you could get tools to hack them if you wanted.

    4. Re:spaces bad, special chars bad by Eivind · · Score: 1
      unix also has "anything goes", but a strong sense of "not everything is wise".

      Under ext3, Linux, all of the following are valid filenames:

      • "foo bar"
      • "-rf"
      • "*"
      • "\ ?"
      • " "
      • "foo\bar.*"

      Don't get me started on the havoc newbies manage to make when trying to deal with suchlike. In general, people know this will blow up the first time someone tries a naive script, and tend to avoid all of it. The only thing borderline common is filenames with spaces in them, even this breaks some scripts, but arguably those scripts are broken anyway.

    5. Re:spaces bad, special chars bad by vadim_t · · Score: 4, Informative
      I refer you to the file(1) command:
      vadim@gadget ~/src/ac/src/viewer $ file *
      Makefile.am: ASCII make commands text
      image_list.c: ASCII C program text
      image_list.o: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), not stripped
      images.c: ASCII English text
      images.o: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), not stripped
      mapview.c: ASCII English text
      mapview.o: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), not stripped
      serverconn.c: ASCII C program text
      serverconn.o: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), not stripped
      viewer.c: ASCII English text
      viewer.o: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), not stripped
      As for case sensitivity, it's a seriously thorny issue due to some languages that have lossy upper/lower case conversion.
    6. Re:spaces bad, special chars bad by djmurdoch · · Score: 1

      1. the requirement the ".3" portion be satisfied, i.e., if you didn't give a ".3" extension, it wasn't valid.

      As far as I know that was never true in DOS/Windows, though some applications may have done that.

      2. the semantic mapping of the extension to filetype, WTF?

      That bothered me at first, but it's a pretty nice convention to follow, so why not build it into the shell?

      3. the implied (don't remember if it was canonical) semantic that no ".3" extension meant the file was a directory

      That was only a convention.

      4. the case insensitive nature of file names

      I'm a native English speaker, so I don't mind this. English sometimes uses case to change the meaning of a word, but more often it's used to indicate something about the usage. I think Unix (and C, etc.) got this one wrong.


      And then everything swings completely the other direction where anything goes. This may curry favor with users, but wreaks havoc on billions of lines of code which all of a sudden choke on what had been simple parsing routines -- fixable, but at great expense. I still think this was a paradigm shift that somehow could have accommodated the user space/community but still allowed some sanity in the machine world.


      You're talking about spaces in filenames, etc? Those were always possible in Unix; why didn't you write your code to handle them properly? ;-)

      Options to show extension, defaults to hide extensions,

      No question, MS definitely got that one wrong. But they were probably motivated by your complaint number 2: they just didn't have anywhere to hide the type marker in the file or extended attributes, so they put it in the extension and then hid the extension. Bad decision.

    7. Re:spaces bad, special chars bad by radish · · Score: 1

      And there's the problem:

      images.c: ASCII English text

      Great. It's "English text". Well, actually no it's not. It's C source code. I notice that you still have ".c" on the end of your filenames - surely that's redundant? Or maybe not.

      Until file(1) can tell the difference between C code and Java code and a letter to my grandmother it's not so useful.

      --

      ---- Den ene knappen er powerknapp, den andre er Bender voice knapp "Bite My Shiny Metal Ass"

    8. Re:spaces bad, special chars bad by farnz · · Score: 1
      Mime types could be encoded on-filesystem if FS designers chose to (Freedesktop.org has a specification for doing so in a cross-desktop fashion if you're using a UNIX with extended attributes). In any case, mapping files to file types by extension has issues to do with user training and multiple extensions (in particular, if I send you Important.jpg.vbs, which extension are you doing to pick on for the filetype, and which one is the system going to use? The wrong answer results in unexpected behaviour, which some Windows malware has exploited).

      I agree that case-insensitivity is nice when working in English; however, in Arabic, short-vowel insensitivity would be more useful. In German, you have the complexity of ß versus SS versus ss. French requires you to ignore some accents. In short, the rules for each language are different, and on Windows 98, I had a few problems with foreign colleagues creating file names I couldn't handle (until we agreed on all-uppercase, English only names), because the two filenames were identical to Windows 98 English edition, but not to their foreign edition.

      The point at which case sensitivity should be fixed is the point at which an application is prompting for a filename, not lower. If you're using tab-completion, I can do (locale-specific) processing to determine other plausible filenames, and print them for you to choose from. If you're using a GUI application (far more common), I can do case-insensitive handling of typed filenames, and highlight the file you've selected in a dialog box. I can even prompt you when you're creating two files with names that only differ in case, so that you can't do that accidentally. Any lower level, and you get into trouble with different languages having different case sensitivity rules.

    9. Re:spaces bad, special chars bad by jackbird · · Score: 1
      The old Mac OS had it right, the filetype flags were not user-created or normally visible, though you could get tools to hack them if you wanted.

      Not quite. I still remember the pain of trying to use standard formats like JPEG across multiple applications back in the system 6/7 days.

    10. Re:spaces bad, special chars bad by Xtifr · · Score: 4, Informative

      > the requirement the ".3" portion be satisfied, i.e., if you didn't give a ".3" extension, it wasn't valid.

      Your memory is faulty here--that is not true; not even slightly.

      > the semantic mapping of the extension to filetype, WTF?

      Long predated MS. Found even in UNIX before MS existed. And still widely used even on UNIX/Linux/BSD. The big flaw that DOS had here (IMO) was making the extension determine whether a file was executable. Having an executable flag is a much better solution. But the approach that DOS took was widely used in other OSes at the time.

      > the case insensitive nature of file names

      There are plenty of arguments on both sides of this one. I'm more used to/more comfortable with/prefer case-sensitive filenames, but I can't bring myself to claim that one option is better than the other.

      I thought VFAT was actually a fairly clever solution to the problem of providing backwards compatibility with the horrors of 8.3, and MS really had no choice but to provide backwards compatibility. I have a lot of complaints with the things MS has done over the years, but I actually kind of admire VFAT.

      > defaults to hide extensions

      This, on the other hand, is one of the biggest mistakes that MS ever made! Someone should have lost their job over this idiocy!

      As a side note, I have to agree with everyone who says that the original article is terrible. The list of characters to avoid for portability is missing several, and the article completely overlooks one of the biggest and most headache-inducing issues--i18n and character encodings. This is one area where UNIX/Linux's ultra-flexibility actually gets it in trouble, since you can have file names with different encodings in the same directory. I actually had a mix of latin1 and utf8 filenames in my home directory for a while, and NOTHING would display them all correctly. And I bet it's even worse if you mix-and-match various CJK encodings. Windows, I'm told, forces everything to utf16, which would not have been my first choice, but at least it's consistent.

    11. Re:spaces bad, special chars bad by mrsbrisby · · Score: 1

      Until file(1) can tell the difference between C code and Java code and a letter to my grandmother it's not so useful.

      Are you sure?

      What do you use to edit the C code, or Java code, or the letter to your grandmother?

      How about to view these things?

      Wouldn't the editor/viewer be something that handles "ASCII English text"?

    12. Re:spaces bad, special chars bad by Bogtha · · Score: 1

      Why are computer file names and conventions and protocols so messed up?

      People do the simplest thing that can possibly work, figuring they'll fix it later. Then later comes along, and either they can't fix it without breaking loads of other code, or their manager gives them a bollocking for even considering working on something that the company won't make any money out of.

      --
      Bogtha Bogtha Bogtha
    13. Re:spaces bad, special chars bad by mrchaotica · · Score: 1

      The more scripts I write, the more I realize that perhaps Bash itself is broken. It really shouldn't be that hard to get something to operate on a list of files instead of a whitespace-separated list of words that may or may not correspond to a file!

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    14. Re:spaces bad, special chars bad by jackbird · · Score: 1
      2. the semantic mapping of the extension to filetype, WTF?

      That bothered me at first, but it's a pretty nice convention to follow, so why not build it into the shell?

      I don't recall DOS ever enforcing anything like that, other than .exe, .com, and .sys files. In fact, it was common in the pre-win95 days to see any of the following included with a new download: README, READ.ME, README.1ST, README.TXT, and everyone knew they were text files you viewed with edit.exe or |more.

      In my family, the switch to win95 was a bit traumatic, as the naming convention for all my mom's Wordperfect documents was to have the .3 devoted to the month and year of original creation (and in Oct.-Dec., the 8th character of the filename): LETTER.491, or HALLOWE1.089. That was fun to deal with on hundreds of files.

    15. Re:spaces bad, special chars bad by amliebsch · · Score: 1

      So you're saying you can imagine no possible scenario where you might want to use different applications to edit different text files?

      --
      If you don't know where you are going, you will wind up somewhere else.
    16. Re:spaces bad, special chars bad by Marillion · · Score: 1
      I remember the first assignment in college co-op job was to figure out how to delete a unix file with a name that began with a hyphen. I also remember getting into an argument with a guy who couldn't accept that you could have a file name with control characters.

      It was rm - -name

      --
      This is a boring sig
    17. Re:spaces bad, special chars bad by Tom · · Score: 4, Insightful

      It seems far better to me than mime-types or magic strings.

      Seems, yes. Is? No way in hell.

      The problem is that extensions are part of the filename, i.e. they are arbitrary. Mapping arbitrary data to meta information is stupid at best, dangerous usually and in combination with hidden extensions and automatic execution it is a blatant disregard of even the most basic security procedures.

      aka "lookhereiamcertainlynotavirus.jpg.exe"

      --
      Assorted stuff I do sometimes: Lemuria.org
    18. Re:spaces bad, special chars bad by zootm · · Score: 1

      Wouldn't the editor/viewer be something that handles "ASCII English text"?

      Sure, an editor that handles ASCII English text would be able to do it, but what if one wants to discriminate? Use of MIME-types (as one solution) gives us the ability to select a viewer for everything "text" as a simple editor, but define an editor seperately for C, Java, and Grandmother's increasingly-delayed letter, without loss. I'm not convinced file extensions are the full solution, but they're certainly no worse than magic numbers. With magic numbers you get the category, but not the specific type. With extensions it's the opposite. Neither is ideal.

    19. Re:spaces bad, special chars bad by Haeleth · · Score: 1

      What do you use to edit the C code, or Java code, or the letter to your grandmother?

      Let's just say that when I'm editing source code I don't want a spellchecker, and when I'm writing a letter to my grandmother I'm not particularly interested in syntax highlighting.

    20. Re:spaces bad, special chars bad by i.r.id10t · · Score: 1

      Ever use a TRS-80? You were limited to 8.3 there, but the .3 wasn't shown and you had to know it in order to open/run the file - sorta like a password...

      --
      Don't blame me, I voted for Kodos
    21. Re:spaces bad, special chars bad by david.given · · Score: 1

      Mime-types fail due to not being actually encoded on-filesystem, and magic strings require users to use a hex editor to try and identify an alien file type.

      Acorn's RiscOS had a modular VFS supporting case-preserving filenames with a seperate 24-bit file type field; the default filesystem, ADFS, supported 10-char filenames but there were others that supported longer ones. It worked, really, really well, but was radically different from anything in the DOS or Unix world --- you couldn't have two files with the same name but different types, for example.

      Even more unfortunately, they picked . as the directory specifier. A full path would look like:

      adfs::DiskName.$.Foo.Bar.Baz.Thingy

      ...where 'adfs:' was the filesystem, ':DiskName' was the name of the disk on that filesystem, and '$' was the root directory. This made programming in C a nightmare; most people ended up with directories called 'c' and 'h' containing a bag of files, so that instead of referring to 'foo.c' and 'foo.h' you'd use 'c.foo' and 'h.foo' instead. Ugh.

      Even worse, trying to transfer files off DOS floppies was a pain --- the 8.3 DOS filenames were mapped to 8/3 RiscOS filenames. So 'wibble.bas' became 'wibble/bas'. Yup, that means that the maximum size was 12 characters, which wouldn't fit on a default ADFS volume.

      RiscOS was a deeply beautiful system, and was a pleasure to use, but it really didn't play nice with the rest of the world. Fair enough, really, since it pretty much predated Windows...

    22. Re:spaces bad, special chars bad by colinrichardday · · Score: 1

      day@Aristotle:~ cd cprogs

      day@Aristotle:~/cprogs file *
      .
      .
      .
      write.c: ASCII C program text
      .
      .
      .

      Files without #include directives were classified as plain text.

    23. Re:spaces bad, special chars bad by UnknownSoldier · · Score: 1

      CATALOG

      DISK VOLUME 254
      APPLE ][ FOREVER

      *T 001 STUPID FILE/OPERATING SYSTEM DESIGNS
          T 001 MS-DOS: NO SPACES, 8.3 CHARACTERS
          T 001 WIN XP: NO COLON, CANT END WITH PERIOD.
          T 001 *NIX: hello.c != hello.C (WTF??)
          T 001 ALL: ' ' not interchangeable '_'

    24. Re:spaces bad, special chars bad by Anonymous Coward · · Score: 0

      Or do it in 5 seconds with a command prompt:
      ren * *.wps
      or whatever that wordperfect extension is

    25. Re:spaces bad, special chars bad by nine-times · · Score: 1
      Mime-types fail due to not being actually encoded on-filesystem, and magic strings require users to use a hex editor to try and identify an alien file type.

      I agree that extensions are helpful for users to tell, at a glance, what a file is. For example, you might have a filesystem tell me that "index.html" is a UTF-8 text file. I'm not sure that's as helpful as telling me it's and HTML file.

      So it's good for users to see, but a poor way for the operating system to identify the file-type. A clueless user might change the filename, or multiple different formats might share the same extention.

      That's why the current convention seems backwards to me. A lot of GUIs have the default view hide the extentions, making them useless for users, but then the OS relies on those extentions to know what program to run them in. However, I think it's still probably better than the experiences I've had trying to repair a file's resource fork in Mac OS classic.

    26. Re:spaces bad, special chars bad by gEvil+(beta) · · Score: 1

      I tried to look at your picture, but you forgot to linkify it.

      --
      This guy's the limit!
    27. Re:spaces bad, special chars bad by mrjackson2000 · · Score: 1

      if you leave/add the .jpg on there it usualy worked fine, atleast in my experiance.
      you also had the extension MacLink that would read the dos extensions and add in the file type flags automagicly,

    28. Re:spaces bad, special chars bad by forkazoo · · Score: 1
      Not true. I used names with no extension for my Wordstar files back in DOS days. Since that's what most of my files were, I made that the simplest. Directories usually had no extension, but you could have if you wanted (some programs did that for their private data).

      Winows 9x and above though do enforce rules on extensions; but worst of all, hide some, or all, of them by default. Thus Anna-Kournikova.jpg.exe. The old Mac OS had it right, the filetype flags were not user-created or normally visible, though you could get tools to hack them if you wanted.

      I somewhat disagree. When you are using big proprietary applications, like MS Word, then it is natural that you will default to saving as a Word document, and the user doesn't need to be involved. But, what file type should be the default when I save a file from vi? The system doesn't have any easy way to identify that I have made a C source file vs. a Java source file vs. a python file (If we decide the filename suffixes no longer have semantic meaning). And, it should be possible to build 'foreign' programs with out too much trouble, so adding extra UI to vi to allow setting of the metadata isn't an answer. The solution for metadata has to be easily user accessible. MIME types are rather cumbersome, but I suppose might be acceptable. Maybe we need something like a chtype utility to match chown, where I can do something like:
      # chtype mysourcefile JAVA
      Or, possibly, some sort of syntax where metadata can be stored as part of the file name, allowing any portable program to interact with it:
      fopen ("/path/to/mysourcefile/?/type=JAVA", "w");

      And, in the GUI, if we give up on extensions, I shouldn't need a special utility to fiddle with the type of a file. It should be very obviously exposed and editable in the "properties" or "get info..." tab/panel/window/whatever for the file.

      If you don't have this level of transparency and easy editability, then the old skool Mac OS style metadata for content and creator codes are less than worthless as an "upgrade."
    29. Re:spaces bad, special chars bad by jedidiah · · Score: 1

      Actually, the text editor that I've been using for n+1 years is quite capable of adapting to whatever form of ASCII it happens to be operating on at the moment.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    30. Re:spaces bad, special chars bad by vadim_t · · Score: 1

      Which editor are you used? Pretty much all the popular text editors do both syntax highlighting and spell checking. Vim has modes to adapt to different formats, just like say, KWrite.

      For more specialized usages like word processing, you're going to use a specialized file format anyway.

    31. Re:spaces bad, special chars bad by mzs · · Score: 1

      Also you probably would not like to run make -f Makefile.am either:

          Makefile.am: ASCII make commands text

      More likely that is for automake and the .am makes me think that. Both naming conventions and the magic file are useful.

    32. Re:spaces bad, special chars bad by poot_rootbeer · · Score: 1

      # the requirement the ".3" portion be satisfied, i.e., if you didn't give a ".3" extension, it wasn't valid.

      May have been an issue in DOS 1.0, but later versions had no such requirement. I've created plenty of files without extensions., and if I looked through my filesystem right now I'd probably find

      # the semantic mapping of the extension to filetype, WTF?

      It's a very loose mapping, though. WordPerfect still opened (or tried to) any file you asked it to, regardless of what the last three letters of the filename were. Most other DOS applications did the same.

      Using part of the filename to hint at a file's contents was standard practice at the time. We still do it in Unix-based systems, do we not?

      # the implied (don't remember if it was canonical) semantic that no ".3" extension meant the file was a directory

      DOS 1.x did not have a concept of directories, and DOS 3.x had no such implication. So if this behavior existed at all, it could only have been in the little used 2.x release.

      # the case insensitive nature of file names

      There are arguments for and against case-sensitive filenames. For the user, case-insensitive is a lot easier. For the careful programmer, slightly more difficult. For the sloppy programmer, a lot more difficult.

    33. Re:spaces bad, special chars bad by djmurdoch · · Score: 1

      DOS only did it on a few extensions, Windows made it extendable. My point was that this was a good thing.

    34. Re:spaces bad, special chars bad by Anonymous Coward · · Score: 0

      MS Does something even worse:

      "andogony BIS file"

      Yes MS doesn't know what the feck to DO with a BIS file.

      And if I renamed it to "foo.c" I would now be able to open it in VS or compile it. Despite the fact it isn't a C source file...

    35. Re:spaces bad, special chars bad by radish · · Score: 1

      Well for Java I want to use Eclipse, but I don't use that for C (probably emacs) or letters (as you point out, probably not plain text but you get the point).

      --

      ---- Den ene knappen er powerknapp, den andre er Bender voice knapp "Bite My Shiny Metal Ass"

    36. Re:spaces bad, special chars bad by Anonymous Coward · · Score: 0

      1. Wrong. 8-character file nams are fine. As I recall, FAT stores them as 11-character upper-case strings anyway, without a period.
      2. I don't remember this in DOS at all. It seems to me that Windows introduced file associations, although some DOS apps did supply their own "default" extensions.
      3. Neither implied nor canonical. Directories typically don't have extensions, but can. The opposite's true for files (see #1).
      4. OK, your opinion. I have none on this issue.

      I realize that Linux was far more advanced in 1981 than DOS (... wait a minute...). With 25-years of hindsight, it could have been done better. Still, as with the article, I don't see the big deal.

    37. Re:spaces bad, special chars bad by mrsbrisby · · Score: 1

      So you're saying you can imagine no possible scenario where you might want to use different applications to edit different text files?

      That's right. I use VI (or VIM) for editing text files. If I have word-processing to do, I usually use ABIWORD, which will have a very different magic.

    38. Re:spaces bad, special chars bad by squiggleslash · · Score: 1

      I think basing it purely on file type though is a mistake.

      I don't particuarly want to edit Resources/SuperappXSupport/defaults.xml using the same "editor" as Projects/MegaDB/ExportedData.xml. I don't want to edit ~/Desktop/sieve.c in the same "editor" as Projects/CorporateManagementSystem/1.0/src/somemod ule/minorplugin/extensions.c. I don't want to edit "Letter to Grandma.doc" in the same word processor as "My Novel.doc".

      I'm not really sure why we've had the obsession since the mid-eighties with associating applications to file types (except to implement "defaults"), we should be recording the most appropriate application in the same metadata. This is how the Mac (used to) do it. It's how the Amiga did it. It's how it ought to be.

      --
      You are not alone. This is not normal. None of this is normal.
    39. Re:spaces bad, special chars bad by mrsbrisby · · Score: 1

      Sure, an editor that handles ASCII English text would be able to do it, but what if one wants to discriminate? Use of MIME-types (as one solution) gives us the ability to select a viewer for everything

      I'm going to stop you there. Extensions describe what to do with a file, not what the file contains. Programs that are interested in what the file contains can use magic information. They do, they always will. Windows does it (MSIE), Nautilus does it, lots of things do it. That's what the user expects.

      If I receive a file from my Grandmother, I don't want HER telling me what to do with it. The ``extension'' should simply be "no-action", except on systems that blur the distinction between what the file contains and what you want to do with it, this breaks down completely. ... define an editor seperately for C, Java, and Grandmother's increasingly-delayed letter, without loss.

      This doesn't have to be encoded in the name of the file. The Mime type and the extension are parts of the name of the file. That name could be changed a dozen times over, and the contents would be the same. If you wanted "Grandma's Letter.txt" to be edited in Wordpad instead of the usual Notepad that edits your text files, the contents and the extension have NOTHING to do with the system honoring your decision on that subject.

      What you want, rather, what everyone wants, is a system where extensions describe _what_to_do_ with the file, and not _what_it_contains_. This is what Macintosh (Classic) systems do (did?). And they don't bother to display the "extension" in most cases. This provides an excellent reason by-itself as to why "extensions" aren't needed or wanted.

      The system will keep track of what it needs to, but outside of your system, the extension is just a mere part of the name.

    40. Re:spaces bad, special chars bad by mrsbrisby · · Score: 1

      Let's just say that when I'm editing source code I don't want a spellchecker, and when I'm writing a letter to my grandmother I'm not particularly interested in syntax highlighting.

      So what? Does this mean .doc files open in Microsoft Word? Or OpenOffice? Why does the name of the file indicate what I'm going to do with it? Can't your system remember that you liked to create word-processor files with Abiword, read the ones you create in abiword, and read the ones that come from someplace else in OpenOffice until you decide to do something with it?

      What possible reason is there to encode what to do with a file in it's name, EXCEPT to confuse people?

    41. Re:spaces bad, special chars bad by Tim+C · · Score: 1

      What do you use to edit the C code

      I've not coded in C in a long time, but I imagine (under Linux) I might well give KDevelop a go.

      Java code

      Eclipse.

      the letter to your grandmother

      Depends on how formal I want it to look; vi for a quick thing, something like OpenOffice for something a little more formal. (Unlikely to be to my granny, of course, but then I'm unlikely to write to her as she's been dead for about 15 years)

      Wouldn't the editor/viewer be something that handles "ASCII English text"?

      Yes, but the editor may well be required to support different functionality for the various different files - most likely by using different editors tailored to the file type. That can only be accomplished (from the desktop shell) by correctly identifying the file type.

    42. Re:spaces bad, special chars bad by lbmouse · · Score: 1

      "I had worked in the DOS world long ago..."

      How could you have? DOS hasn't been around that long. Hell, CP/M was just invented the other day. :) You need to talk about the ENIAC when you mention 'long ago'.

    43. Re:spaces bad, special chars bad by GIL_Dude · · Score: 1

      Also for performance reasons on the file extensions; why open the file and read a few bits from it when you can get better perf by knowing the type of file by the extension? I imagine that while it might not hurt too badly these days, "back in the day" that perf hit from opening each file may have been big.

    44. Re:spaces bad, special chars bad by zootm · · Score: 1

      The ``extension'' should simply be "no-action", except on systems that blur the distinction between what the file contains and what you want to do with it, this breaks down completely.

      I don't think there's a serious distinction here to blur, just more and more specific information about a file. The fact that something is marked as text just gives you a broader definition of "what you can do with it".

      MIME types don't tell you what to do with a file. They tell you what kind of data it contains. Essentially what you can do with a file. Data can be categorised further than just "text", and there is no particular reason to stop right there.

      What you want, rather, what everyone wants, is a system where extensions describe _what_to_do_ with the file, and not _what_it_contains_.

      No, I reckon it's more accurate to say that we want an accurate categorisation of what is in a file, and then the system (or by association the user) decides how to handle that data. I'm not convinced extensions are the answer to this problem, but MIME-types certainly seem more valid than magic numbers.

    45. Re:spaces bad, special chars bad by Just+Some+Guy · · Score: 1
      I refer you to the file(1) command:

      And I further point out the "-i" option:

      filescannedimages.py: text/plain; charset=us-ascii
      filescannedimages.pyc: application/octet-stream
      filescannedimages.py.flc : application/x-elc
      foo-raw-ZX106993-1: application/pdf
      foo-rendered-ZX106993-1: image/tiff
      __init__.py: application/x-empty
      __init__.pyc: application/octet-stream
      processbatch.sh: application/x-shellscript

      Now, storing the mimetype in metadata would be very nice, but this is a pretty good way to make an educated guess.

      --
      Dewey, what part of this looks like authorities should be involved?
    46. Re:spaces bad, special chars bad by asuffield · · Score: 1
      What you want, rather, what everyone wants, is a system where extensions describe _what_to_do_ with the file, and not _what_it_contains_.


      WTF? I don't want an extension telling me what to do with the file. I want to tell the computer what to do with the file. That's what everybody who isn't a moron wants (the morons want the computer to psychically infer what to do with the file, but they're unsatisfiable).

      If I want to compile the file as C, I run 'gcc -c file'. If I want to print it, I run 'lpr file'. I don't want an extension to describe these things. Different platforms may provide different methods for choosing the action, but the choice of action is made by the user, not by the file.

      Choosing actions based on the file is exactly why we have so many mail worms going around named foo.doc.exe - the user wanted to say "load this in openoffice", but they actually end up running the program instead. Nobody but programmers understand this stuff; most users are hopelessly confused by it.
    47. Re:spaces bad, special chars bad by bwintx · · Score: 1
      From TFA:
      My preference is to always use lowercase letters and hyphens to replace spaces. For example, "this-is-a-long-filename.txt", instead of "This is a long filename.txt" ... I like hyphens over underscores because underscores don't always show up clearly in anchor tag hyperlinks.
      That's not bad logic but can run somewhat afoul if a filename includes a range -- i.e., Data_for_1995-2000.txt can be (somewhat) easier to comprehend at first glance than Data-for-1995-2000.txt.
      --
      Discussion System prefs link: http://slashdot.org/users.pl?op=editcomm
    48. Re:spaces bad, special chars bad by shotfeel · · Score: 1

      I never had a problem with that. Yes, if you double-clicked the file, it would try to open the program indicated by its creator code, regardless of the file type code. But it was always possible to either drag-and-drop onto a different application, or use the File->Open menu option within any appropriate application.

    49. Re:spaces bad, special chars bad by radish · · Score: 1

      So sure, you could add heuristics until the cows come home so file(1) can guess what the file is. Or you could use a marker (extension, fork, whatever) so it KNOWS what it is. I don't know about you, but I'm always a little worried when computers have to guess things...

      --

      ---- Den ene knappen er powerknapp, den andre er Bender voice knapp "Bite My Shiny Metal Ass"

    50. Re:spaces bad, special chars bad by 1u3hr · · Score: 2, Informative
      Not quite. I still remember the pain of trying to use standard formats like JPEG across multiple applications back in the system 6/7 days.

      Mac OS had a separate file type, and file creator, code. So apps could share filetypes, but have distinct creators. But egomaniacal programmers often made their apps change the codes. That's when you needed things like FileTyper.

    51. Re:spaces bad, special chars bad by SanityInAnarchy · · Score: 1
      I'm going to stop you there. Extensions describe what to do with a file, not what the file contains.

      And what if I want to do something other than edit that text? I don't particularly want to compile Grandma's letter, nor do I want to texturize my C program (turn " into curly quotes)...

      I agree that the file extension is a dumb way to keep track of file type, but I can't say magic types are a good idea, either. And the nice thing about file extension is, barring a few collisions, type is preserved when you move it around. That .doc file you got in email is, in fact, a Word document.

      --
      Don't thank God, thank a doctor!
    52. Re:spaces bad, special chars bad by grumbel · · Score: 1

      ### The problem is that extensions are part of the filename

      Extensions are not part of the filename and they are not arbitary. They are perfectly good metadata that just happens to be stored right next the the filename, which is actually quite a good thing, since the filename is the only place where you can pack your metadata to transfer it over a network in a reliable way. The only throuble with fileextension is that they were limited to three characters in the past, which lead to some conflicts here and there and that Microsoft for some stupid reasons hides that metadata per default which leads to "lookhereiamcertainlynotavirus.jpg.exe". However thats not the fault of fileextensions, quite the oposite, the .exe clearly marks the file as executable data, its not the fault of the fileextension that Microsoft strips it away.

      Mime-types are pretty much the same as file-extension, just without the three character limit and a bit of structure, throuble is, you can't store mime-types anywhere easily and portably not at all. So they get lost as soon as you copy a file around, which makes them rather worthless in practice and results in most applications that use mime-types to base them on file-extension (Apache with things like 'AddType image/gif .gif').

      Magic strings are probally the worst of all, since they are part of the actual file data, not metadata, even worse, most files simply contain no magic strings at all, making file detection impossible or worse a game of luck, since there is nothing that stops random data from having the magic string of another filetype and in such a case there is nothing the user can do to fix that misdetection. Magic have of course still a value as file-type guessing method and they work good that way, but as reliable way to identify a file they are completly worthless.

    53. Re:spaces bad, special chars bad by SanityInAnarchy · · Score: 1
      worst of all, hide some, or all, of them by default. Thus Anna-Kournikova.jpg.exe. The old Mac OS had it right, the filetype flags were not user-created or normally visible

      What, you'd rather have just "Anna-Kournikova" with no way of telling what filetype it is until you open it?

      --
      Don't thank God, thank a doctor!
    54. Re:spaces bad, special chars bad by Anonymous Coward · · Score: 1, Informative

      If extensions aren't part of filenames, then you have the same problem as hidden extensions: You can have a file with the name "Hello" which is an executable but tricks users by using a jpg icon for the application.

    55. Re:spaces bad, special chars bad by 1u3hr · · Score: 1
      But, what file type should be the default when I save a file from vi?

      Text, surely?

      The system doesn't have any easy way to identify that I have made a C source file vs. a Java source file vs. a python file

      Well, it should ask you then. Of course, in Unix there are the "magic" characters at the begining of the file.

    56. Re:spaces bad, special chars bad by NutscrapeSucks · · Score: 1

      Well, not quite. I had the same problem -- the issue was that that there was no agreement on the hidden file type code for a .JPG file -- some apps used "JPEG" and some used "JFIF" (which eventually won). And these apps couldn't open each other's files.

      Eventually Apple added filetype mapping to the OS and apps got better about sniffing data like JPEG.

      --
      Whenever I hear the word 'Innovation', I reach for my pistol.
    57. Re:spaces bad, special chars bad by Anonymous Coward · · Score: 0

      rm ./-name would also work quite nicely.

    58. Re:spaces bad, special chars bad by Anonymous Coward · · Score: 0

      I rarely had problems with filetypes on my Amiga, which didn't use extensions to identify files. The only files there which needed extensions were the icon files which had to be named filename.info where filename was the name of the file it was the icon for. I've nothing against filename extensions, as long as they are optional and not mandatory and are not relied upon to determine the filetype.

    59. Re:spaces bad, special chars bad by mrsbrisby · · Score: 1

      I don't think there's a serious distinction here to blur, just more and more specific information about a file. The fact that something is marked as text just gives you a broader definition of "what you can do with it".

      No. The mime type is part of the name. Your operating system uses part of the name to determine which applications open it, view it, edit it, and hopefully to your preference. The mime type does NOT specify what's in the file. If it did, MSIE probably wouldn't guess.

      No, I reckon it's more accurate to say that we want an accurate categorisation of what is in a file, and then the system (or by association the user) decides how to handle that data. I'm not convinced extensions are the answer to this problem, but MIME-types certainly seem more valid than magic numbers.

      Extensions and MIME-types are the same. They're part of the name of the file. Maybe a redundant part, but definately part of the name.

    60. Re:spaces bad, special chars bad by mrsbrisby · · Score: 1

      WTF? I don't want an extension telling me what to do with the file. I want to tell the computer what to do with the file. That's what everybody who isn't a moron wants (the morons want the computer to psychically infer what to do with the file, but they're unsatisfiable).

      Exactly. If you consider the extension part of the (visible) name, then that's exactly right. But if the "extension" is a representation of that preference of yours, then it's exactly my point. This is how MacOS worked prior to MacOSX, and it was perfectly reasonable to have three different "JPEG" images on your computer that all opened in separate programs.

      If I want to compile the file as C, I run 'gcc -c file'. If I want to print it, I run 'lpr file'. I don't want an extension to describe these things. Different platforms may provide different methods for choosing the action, but the choice of action is made by the user, not by the file.

      When you go ``lpr file'', does lpr see the file name? Or is it determining whether to render to postscript or not using some other means.

      Clearly, the name of the file has nothing to do with what is in it.

    61. Re:spaces bad, special chars bad by amliebsch · · Score: 1
      What possible reason is there to encode what to do with a file in it's name, EXCEPT to confuse people?

      Because it's highly portable and simple to edit. Perhaps I'm in the minority, but I like being able to look at a simple list of files and be able to know what the default shell action is for those files, and I like being able to change that default shell action simply by renaming the file. I certainly don't want to use filesystem metadata (limiting it to filesystems that implement that metadata mechanism), "shadow" files, or some other ridiculous hack.

      --
      If you don't know where you are going, you will wind up somewhere else.
    62. Re:spaces bad, special chars bad by colinrichardday · · Score: 1

      That raises the question of why file(1) has to know what it is (to that specificity).

    63. Re:spaces bad, special chars bad by mrsbrisby · · Score: 1

      That .doc file you got in email is, in fact, a Word document.

      No...it...isn't.

      The .doc file I just received is an RTF-formatted stream. Or maybe another one I received was an OLE stream. There's nothing about that name that says it's belongs to Microsoft Word. The file _belongs_to_me_. Maybe it's uncompressed input for gzip. Maybe it's an archive of pictures. Who the fuck knows. Certainly, not the name of the file.

      And the extension is simply part of the name of the file. Some operating systems have bastardized the "name of the file" to determine my preferences instead of, sensibly, storing that information elsewhere.

    64. Re:spaces bad, special chars bad by mrsbrisby · · Score: 1

      Because it's highly portable and simple to edit. Perhaps I'm in the minority, but I like being able to look at a simple list of files and be able to know what the default shell action is for those files, and I like being able to change that default shell action simply by renaming the file. I certainly don't want to use filesystem metadata (limiting it to filesystems that implement that metadata mechanism), "shadow" files, or some other ridiculous hack.

      So why do so many file browsers have an icon, surely this is redundant!

      It may be convenient to remind YOU what is in those files, but it doesn't say what's in those files unless YOU put the extension there. It also doesn't say what you're going to do with those files, unless your system keeps a database of what "kind" of file uses "what" program. This is ridiculous, why didn't the operating system store a database of what "file" I use with what "program"? It could give me reasonable defaults, surely, based on type, but because the extension is just part of the name, it's just using the worst part of the name.

      Consider if I have a bunch of graphics that I edit in the Gimp or in Photoshop in a special resources directory. Why should my computer think that if I receive an image via email that I want to look at it in the Gimp?

    65. Re:spaces bad, special chars bad by drinkypoo · · Score: 1
      I had worked in the DOS world long ago, and I'd always been frustrated with not only the restriction of the 8.3 naming convention, but the added imposition of: 1. the requirement the ".3" portion be satisfied, i.e., if you didn't give a ".3" extension, it wasn't valid. 2. the semantic mapping of the extension to filetype, WTF?

      Both of these are because the extension is the filetype. All you people thinking of them as 8.3 character filenames are technically correct but missing the whole fucking boat. They're 8 character filenames, with a 3 character filetype. Sure, you can use whatever extensions you want, but that would be a bad idea, because that's not how they are used in DOS.

      the implied (don't remember if it was canonical) semantic that no ".3" extension meant the file was a directory

      It's implied, because you certainly can create directories with extensions (maybe only in some versions, but certainly in DOS 6.2x) and files without them.

      However, I never inferred that, so I don't know if it's even implied.

      # the case insensitive nature of file names

      Which is a good thing. It would be better if all filesystems were case-preserving, and none of them were case-sensitive. There's simply no reason for it. In fact, it spawns confusing practices and processes. Why should I have both a "Makefile" and a "makefile"? And which one will make(1) read first?

      Many years later, I had opportunity to consult in the Windows/DOS world after having worked in the Unix world for over a decade -- figured Microsoft had had enough time and money to work out the kinks in what had obviously been an early-technology constraint for the brain dead old DOS naming restrictions. Not. Sigh.

      Ever heard of "backwards compatibility"? There's many reasons why Microsoft is on top, and anticompetitive business practices are only several of them :P

      And then the transition was a nightmare, whoever conjured up the VFAT naming format and the "tilde" mapping backwards compatibility to FAT names should have been shot. A golden opportunity lost.

      How do you suggest they implement backwards filename compatibility?

      And, Microsoft dares to allow mixed case naming, but does case insensitive handling of file names... don't even get me started about some of the bizarre results and buggy behavior I've traced to that.

      This is also what MacOS does, and has done since time immemorial. What's the big deal?

      All of this isn't to let Unix and Unix style file naming skate. I've had problems, though fewer, there. But, at least it's seemingly (to me) more consistent and predictable, though there has been what I call "Windows" creep in that there have appeared some apps that somehow think managing and imposing "transparently" the extension to "file type" mapping is a good thing (it's not).

      The extension to file type mapping means that you're not having to open every file in a directory and check its magic numbers, or preserve metadata that will probably be lost anyway when transferring to another system, in order to figure out what kind of file it is and display some kind of rational list to the user.

      Optimally all files would be scanned for filetypes, and all unscanned files rescanned every time new magic numbers were installed, generating metadata. Then we wouldn't have to care. The brilliant thing is that this can be layered on top of basically any system. Now, get to work!

      The remote copy that moved files from one system to the other for subsequent processing did so without complaint, the receiving side silently truncated the incoming files -- which were identical in name through 11 chars... essentially copying the incoming files over and over again on top of the same file... Sigh and sheesh!)

      Hooray for poorly-written applications! Can't blame them on the OS though.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    66. Re:spaces bad, special chars bad by drinkypoo · · Score: 1
      I'm not really sure why we've had the obsession since the mid-eighties with associating applications to file types (except to implement "defaults"), we should be recording the most appropriate application in the same metadata. This is how the Mac (used to) do it. It's how the Amiga did it. It's how it ought to be.

      How the Amiga did it? My IFF files were opened by extension, not by anything else. If you rename an IFF image to .8svx and open it, your sound program tries to open it. It doesn't still open in dpaint iv.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    67. Re:spaces bad, special chars bad by Otto · · Score: 1

      we should be recording the most appropriate application in the same metadata. This is how the Mac (used to) do it.

      Oh yes, and that worked out so well when I received a file from somebody else but was unable to open it because it had some type that none of my programs recognized. Never mind the fact that I knew exactly what it was and I did have the program to open it. Thus requiring use of ResEdit or similar third party programs to actually change the 4 character file type into something I could use. God, I miss those days.

      Oh wait, no I don't.

      --
      - Give a man a fire and he's warm for a day, but set him on fire and he's warm for the rest of his life.
    68. Re:spaces bad, special chars bad by 1u3hr · · Score: 1
      >worst of all, hide some, or all, of them by default. Thus Anna-Kournikova.jpg.exe. The old Mac OS had it right, the filetype flags were not user-created or normally visible

      What, you'd rather have just "Anna-Kournikova" with no way of telling what filetype it is until you open it?

      The flags were hidden, but they manifested in the icon. You could also do a "get info" on any file if you wanted to know more. Of course, you can sucker people anyway, but it wasn't as easy as on Windows.

    69. Re:spaces bad, special chars bad by forkazoo · · Score: 1
      The system doesn't have any easy way to identify that I have made a C source file vs. a Java source file vs. a python file

      Well, it should ask you then. Of course, in Unix there are the "magic" characters at the begining of the file.


      Well, when should it ask me? How exactly should the asking work? Do I get asked about the file type for every single file I get from FTP? And, the magic numbers at the start of a file don't always work, for example, what magic characters does a C source file start with? How about C++? If you run file on a source file, it will just report that it seems to be some sort of plain text. You need some sort of metadata stored in addition to the contents of the file in order to identify it. This metadata scheme should also be compatible with existing programs. (Otherwise it is sort of useless) So, really, some sort of encoding in the file name seems like a logical solution. Far from perfect, but it does work. A prefix of a dot indicates it ought to be hidden from general listings. A suffix after a dot indicates a file type.
    70. Re:spaces bad, special chars bad by Chyeburashka · · Score: 1
      they were remote copying from one Unix that had 14 (or more, can't remember) char limit on file names

      Back in the day, when I was first exposed to Unix in the form of 4.2BSD running on a VAX/11-750, the limit on file name length was 14 characters. I had been using Data General AOS, which had a 31 character limit, so I was initially unimpressed.

    71. Re:spaces bad, special chars bad by Tim+Browse · · Score: 1

      Even more unfortunately, they picked . as the directory specifier.

      That was a legacy from Acorn DFS on the BBC Micro.

      RiscOS was a deeply beautiful system

      Er, yes. Gaze upon my icon validation string hacks, ye mighty, and despair!

      it really didn't play nice with the rest of the world. Fair enough, really, since it pretty much predated Windows...

      'Pretty much' predated Windows?

      By that do you mean that Windows 1.0 was launched in 1985, and Arthur was launched in 1987?

    72. Re:spaces bad, special chars bad by vtcodger · · Score: 1
      ***Winows 9x and above though do enforce rules on extensions***

      Not exactly. What they do is recognize extensions and optionally (in some senses) process files according to the extension, You can turn off or alter the handling by tinkering with the Registry although most people don't. I suspect that handling of a few of the extensions (e.g. .exe) can not be changed in the registry.

      ***but worst of all, hide some, or all, of them by default. Thus Anna-Kournikova.jpg.exe.***

      Roger on that. It's clear that Microsoft was shooting for Macintosh like handling, but you'd think that 24 hours into Beta testing, it would have been apparent that this wasn't going to work. It's especially fun when several files have the same name and different extensions. The only way to distinguish them is by the icon. Try explaining that to your Aunt Matilda.

      Oh yeah and Anna-Kournikova.jpg.exe causes trouble even if extensions are made visible because much (not all) DOS/Windows software only displays the first extension. But file handling is based on the LAST extension. Oooopsie.

      ***The old Mac OS had it right, the filetype flags were not user-created or normally visible, though you could get tools to hack them if you wanted.***

      That's clearly what Windows was shooting for. As you point out in the previous sentance, that doesn't work in Windows. I have trouble believing that it worked all that well on the Mac, but not being very Mac-compatible I wouldn't know for sure.

      --
      You can't see ANYTHING from a car, You've got to get out of the goddamned contraption and walk...Edward Abbey
    73. Re:spaces bad, special chars bad by MrCool80s · · Score: 1

      Although my understanding is basic, I can see why many special characters should not be used in file names. Why, though, should spaces not be used in filenames? Although this seems to be 'wisdom' or 'safest', it would be nice to know why I have been using '_' and not ' ' these few years. I have scoured the web a couple times, but have really only encountered a few pages of what seem to be rather anecdotal reasoning(s) for avoiding the use of the space.

      KDE, Gnome, several FTP clients, windows, smb/NFS shares, and many X-apps all seem to handle spaced file names with aplomb. What makes the space so special that a terminal handles it as '%20'? What can really happen when spaces are used...are we keeping consideration for older sytems/code? Does this affect the home/business user, or servers, or other, predominantly? Frankly, it would be easier to type a space than a '_': hyphens hamper readability.

      Not looking to ruffle any feathers, if a good explanation exists, please point me to it.

    74. Re:spaces bad, special chars bad by squiggleslash · · Score: 1

      Not unless you were using a custom shell like SID or something.

      Amiga files had icons (no, seriously, that was the technical name for the metadata files, these were stored as files with ".info" as the extension in the same directory as the source file) which contained the full pathname of the application (tool) that was supposed to open them by default. Renaming them most certainly didn't cause them to be opened in any other file.

      Interestingly, you give another example of how silly it would have been to do so. IFF is not an image format, it's a container format. DPaint would open IFF ILBMs, but not other types of IFF.

      Did you really have problems loading valid IFF ILBM files with random (ie not ".iff") extensions into DPaint? I don't recall having that problem myself.

      --
      You are not alone. This is not normal. None of this is normal.
    75. Re:spaces bad, special chars bad by squiggleslash · · Score: 1

      You're describing a completely unrelated problem. The problem you had was with the seperation of type data from the filename. I'm refering to opener information. The opener only refers to what application can open the file by default, a file doesn't become impossible to open in an entirely seperate application because the opener information is wrong.

      However, if the type information is wrong, and the application insists on opening files only of a particular type, then, yes, you're buggered, but that's the exact opposite of what I was proposing. The fact the Mac stored type information as well (and did it badly) doesn't change the fact that the default opener of an application should not be tied to a specific type.

      --
      You are not alone. This is not normal. None of this is normal.
    76. Re:spaces bad, special chars bad by hackstraw · · Score: 1

      defaults to hide extensions

      This, on the other hand, is one of the biggest mistakes that MS ever made! Someone should have lost their job over this idiocy!


      Anyone want to guess how many hours of work have been lost from this, and jobs "created"?

      I'm not 100% into this, but I try to not use special characters, including spaces, in filenames. It causes too much problems with scripting, and to my eye, an '_' is the same as a space, but does not use the same _default_ input file separator on *NIX systems as part of the filename.

      Quoting of special characters gets VERY nasty when going from machine to machine.

      Oh, and one of my biggest gripes with most (possibly all) Linux implementations recently has been the exporting of the LANG=UTF-8 or whatever that makes 'ls' lie to you. ls now implies that case does not matter, but it does! And I prefer to have Makefile in the beginning of the list vs somewhere in the middle. Oh, and I also _usually_ don't use case, except for Makefile, even though makefile is parsed first by 'make'.

      I've noticed that I"ve gotten more random as OSes have gotten more random.

      Oh, to fix the 'ls' sorting, export LANG=C to fix that. Also, I alias ls to be ls -h for "human" sorting of filenames so that file10.txt comes _after_ file2.txt, and not before, but even that is lost via wildcard expansion, so I usually do something with ls in backticks vs pure wildcards.

      Software is insane, and getting more insane over time.

      I sure am glad that my hardware is not as random, but that too seems to be decreasing towards entropy as well.

    77. Re:spaces bad, special chars bad by Mattintosh · · Score: 2, Insightful

      Magic strings are the "right way", or at least close to it.

      Have you ever looked at the first 4 bytes of a Java .class file? It's CA FE BA BE. Guess what... even if it somehow gets named foobar.OMGWTFIsThisFileType, the JVM can still pick it out as a Java bytecode file. Why? How? All Java bytecode files always start with CAFEBABE. If it starts with CAFEBABE, the JVM can semi-safely assume that this is a valid bytecode file. But... what if some other file "collides" with that signature?

      All Mac files (until 2001, with in introduction of OSX) had "type and creator codes" in a "resource fork". Now, if you just flatten the resource fork into a data header format, you suddenly have a standardized file header with type and creator metadata in them. But what if your FS doesn't support "resource forks"?

      Do things the "Lisa" way. Apparently, the Apple Lisa had some sort of database-like file system (in 1983 - WinFS, eat your heart out) that would assign a file ID, but display a filename, and track a dozen or so metadata fields per file. So in the UI, in any given container, you could have 10 files named identically, but they wouldn't conflict with each other. They would also have a full complement of needed metadata maintained within their file-system wrapper (essentially, their file headers). This was arguably the "next level of file system" after the Unix-style hierarchy (and its timing was appropriate in 1983). It's similar to how MP3 files have ID3 tags embedded in them. Those ID3 tags are just metadata values. If every file in the file system had a minimum "simple set" of metadata tags in the header information, this would work beautifully. Someone should make a general standard for this sort of thing and write support for it into Linux. Apple could probably be persuaded to support it (especially if you allowed them to put their name on the standardization effort). Then MS would probably jump on the bandwagon and say they invented it. Let them (who cares? All we want is decent file metadata).

      Your argument about file extensions, though, is not only naive, it's also incorrect. Extensions are part of the filename. I, as a user, can meddle with them in the same manner as the rest of a filename. They are completely arbitrary and can be removed entirely if I so choose. They are not metadata. And if I wanted to pack up a binary file with its own headers or signature and send it over a network, it would work perfectly fine. And if I were to design a file system that would work over a network, I would make the file header format a standard. And it would be every bit as reliable as any other system, except when data got to the recipient it would be guaranteed to have its metadata, rather than an arbitrarily-modified filename that may have lost its file type in the transfer.

      I will agree with you about mime-types. Mime-types, as you note, are not reliable because they aren't stored with the file. They're more of a way for a server to tell a client what they're downloading before they download it. They work well for that, but are certainly not a good way of defining file metadata.

    78. Re:spaces bad, special chars bad by NaDrew · · Score: 1
      What, you'd rather have just "Anna-Kournikova"
      Well, yeah.
      --
      Vista:XPSP2::ME:98SE
    79. Re:spaces bad, special chars bad by Lars+T. · · Score: 1
      Not quite. I still remember the pain of trying to use standard formats like JPEG across multiple applications back in the system 6/7 days.

      Because it was soooo hard to just drag'n'drop it on the app's icon or open it from within the app? Yeah that was way harder than to just live with whatever app had hijacked JPEGs lately.

      --

      Lars T.

      To the guy who modded me down from perfect to terrible Karma - Apple haters still suck

    80. Re:spaces bad, special chars bad by jez9999 · · Score: 1

      Sorry, but that just sounds like the comment of somebody who uses the commandline. And, with current filesystems, you can do just that, give no extension and access files by passing them as arguments to your programs.

      However, for people who are used to GUIs, it's a very nice optional shortcut to be able to click on a file and have it automatically opened by something. What's your problem again?

    81. Re:spaces bad, special chars bad by jez9999 · · Score: 1

      And if you post a brick through someone's letterbox it'll fall through, despite the fact it isn't a letter. Why don't you just name the file correctly and use the tool as it's meant to be used?

    82. Re:spaces bad, special chars bad by gevil · · Score: 1

      I prefer lookhereiamcertainlynotavirus.jpg.exe than lookhereiamcertainlynotavirus At least I can see the .exe if I wish... As for the Case Sensitive thing, well, whoever uses Cases to deal with files on the same directory really needs a boost in creativity. imagine you saying: Heck, this is the wrong presentation: Its not Final Numbers Presentation for Mega Project.ppt, its the Final Numbers Presentation For Mega Project.ppt Probably Im not nerd enough, but a Case retentive scenario is much better to me. Im not trying to defend one system over the other, or the security of windows, blah blah blah. Just that the extension thing works fine by me. I still keep the "show extensions" active. Its also a great way of identifying the kind of file youre looking at directly on the command prompt. But hey, this might be just me.

    83. Re:spaces bad, special chars bad by jez9999 · · Score: 1

      If it starts with CAFEBABE, the JVM can semi-safely assume that this is a valid bytecode file. But... what if some other file "collides" with that signature?

      So you've immediately rendered the first sentence utterly false.

      If every file in the file system had a minimum "simple set" of metadata tags in the header information, this would work beautifully.

      If I understand you correctly, you mean having the same fields of metadata for all files? For a sourcecode file, you might want language, author, maybe even editor used to write it. For an image, you'll want a description, location, etc. How would that work?

      Extensions are part of the filename. I, as a user, can meddle with them in the same manner as the rest of a filename.

      You, as a user (assuming you have control of your system), can meddle with ANY PART of a file. Including the header and contents. Filenames are *slightly* more readily available and changeable, and IMHO that's a good thing because it makes it that little bit easier to check what type of file you've got IF the extension is being used correctly. It can be abused, but so can anything. So what?

    84. Re:spaces bad, special chars bad by Reziac · · Score: 1

      "Windows 9x and above though do enforce rules on extensions" ...Eh? No they don't; just as in DOS, you can make filenames with or without extensions. The habit of forcing default extensions onto filenames rests with applications, but is NOT a Windows function.

      Of course filetype/extension mapping is handled by Windows, but Windows itself won't care if you remove all the filetypes and go completely extensionless.

      I have plenty of both files and directories that do and don't have extensions, made both in DOS and Windows. Oh, I'm a WordPerfect-DOS user myself. :)

      As to the Mac system of totally hiding the filetype, that's one of the reasons I always detested MacOS. The fact that Win9x and later want to do likewise is a large flaw, and is one of the first things I correct on any Windows box.

      --
      ~REZ~ #43301. Who'd fake being me anyway?
    85. Re:spaces bad, special chars bad by killjoe · · Score: 1

      It's one to make the extension the most important part of a file and another to hide them by default on the GUI. I remember asking somebody to click on "notepad" and they kept clicking on notepad.ini because they were following my directions to the letter (note for the nazis I am using notepad as an example the fire wasn't actually notepad, I don't remember the name of the file).

      It was/is stupid. The fact that it will go on in vista is a deep dark shame.

      --
      evil is as evil does
    86. Re:spaces bad, special chars bad by jez9999 · · Score: 1

      Oh yeah and Anna-Kournikova.jpg.exe causes trouble even if extensions are made visible because much (not all) DOS/Windows software only displays the first extension.

      Ahem? Once hiding file extensions is disabled in the Explorer shell, I have never come across ONE Windows app that 'only displays the first extension'. Examples?

    87. Re:spaces bad, special chars bad by jez9999 · · Score: 1

      I'm more used to/more comfortable with/prefer case-sensitive filenames

      - Do you mean case-retentive?
      - If you mean case-sensitive... Why?

      Remember, you're arguing that you should be able to have 'Data2' and 'data2' in the same directory.

      Why?

    88. Re:spaces bad, special chars bad by Anonymous Coward · · Score: 0

      "lookhereiamcertainlynotavirus.jpg.exe"

      I tried clicking on that but I think the link is broken. Could you email me a copy of it?

    89. Re:spaces bad, special chars bad by NihilEst · · Score: 1
      I was going to point out the length limits in older Unices, but to do so would have been redundant, thanks to your post. (Here comes the mod!!)

      But isn't this entire subject so obvious as to be redundant, itself? As if it were a shocking, new discovery? I mean, I've dealt with this crap for years (that doesn't mean I like barriers to portability any more than when I first see them).

      What I truly detest is converts to *nix wanting to hang .exe extensions on executable files. ARRRRRGH!!

      --
      Founding member: He-Man Windoze Hater Club
    90. Re:spaces bad, special chars bad by petermgreen · · Score: 1

      The flags were hidden, but they manifested in the icon.
      i seem to remember macs like windows let executables specify thier own icons.

      most lusers use the default icons for a file type.

      combine the two and you can easilly sucker in lusers to running your app.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    91. Re:spaces bad, special chars bad by CFrankBernard · · Score: 1

      If extensions are not treated as part of the file name, then why do operating systems allow file1.txt and file1.asc in the same directory?

    92. Re:spaces bad, special chars bad by Guy+Harris · · Score: 1
      turned out they were remote copying from one Unix that had 14 (or more, can't remember) char limit

      Probably 14 - the old UNIX file systems had 16-byte directory entries, with 2 bytes of inode number and 14 bytes of file name.

      on file names to an old SunOS system that allowed only 11

      Where did you find a SunOS system like that? SunOS, all the way back to "Sun UNIX 4.2BSD Release 1.0" or whatever it announced itself as, always used the BSD Fast File System, with 255 bytes as the length limit, and even the old Unisoft ports probably had a traditional UNIX file system with a 14-byte limit.

    93. Re:spaces bad, special chars bad by grumbel · · Score: 1

      ### Extensions are part of the filename.

      They are stored that way, yes, but its still metadata, the filename stops before the last '.'.

      ### They are completely arbitrary and can be removed entirely if I so choose.

      If you want to destroy metadata you can of course do that, that however doesn't make it any less metadata. If you destroy the extensions your file browser won't recognize the file type and you have a harder time opening the file, how again is that different from a resource fork or from a magic string, if I zero either of them out you are in throuble as well.

      ### Magic strings are the "right way", or at least close to it.

      It looks like have never actually used 'cat' or a text file or a file with random binary data, since none of them contains a magic string and *CAN'T* contain a magic string, because said magic string would *destroy* the data (magic + data != data). Magic strings can *never* work because a file needs to be able to store random data, with magic strings it can't, you would force the file to follow a predefined structure, making files unsuitable as a general file storage mechanism. Magic strings are really completly unsuited as a file identification mechanism, because they simply cannot work, ever, its simply impossible. The only way to make magic strings work would be to use a container format, where one part of the container contains the true data and the other the magic, but then you don't really have what you'd consider a magic string, but simply a meta-data container.

      Now back to extension, file extension *are* metadata, thats how they are threaded by almost every application. They lack the extra-information that a mime-type contains and easily conflict due to lack of limited range, but beside from that they are almost perfect in todays environments, they are easily transmitted, handled fine by almost every OS and application and easily fixable if they ever get wrong. The only improvment would be to store them in a seperate from the filename, that would however break all the backward compability.

    94. Re:spaces bad, special chars bad by 1u3hr · · Score: 1
      Well, when should it ask me? How exactly should the asking work? Do I get asked about the file type for every single file I get from FTP?

      You said "I have made a C source file vs. a Java...". So I assumed you were writing it, so the editor would ask you when you save and name the file.

      And, the magic numbers at the start of a file don't always work

      Yes; but nevertheless useful for dividing files into categories, especially various forms of data or media. I really don't don't think it's a big problem whether it thinks a file is C or shell script; you should be paying close attention to the contents of an unknown program file before you execute it.

    95. Re:spaces bad, special chars bad by grumbel · · Score: 1

      ### There are plenty of arguments on both sides of this one. I'm more used to/more comfortable with/prefer case-sensitive filenames, but I can't bring myself to claim that one option is better than the other.

      I think the 'correct' solution is to simply stop to refer to files by name and make the filename just another piece of meta data that is attached to the file and thus allow it to be completly free form, all characters could be allowed, upcase/downcase, even mark-up would be possible inside the filename.

      In GUI environments today you often don't refer to a file by name, instead you click on icons, so having two files with the same name in the same directory wouldn't do any harm there, it would simply require that the OS provides a way to refer to files by something uniq, something like the inode number or so. Now for good old shell it would of course get a bit weird, but even there it shouldn't be that difficult to solve, simply might end up a bit more ugly. Given that the 'future' of the desktop provides things like google-like full-text search the filename would get even less important, since you would search for files by context, instead of by their name.

    96. Re:spaces bad, special chars bad by k8to · · Score: 1

      Both IFF files containing ILBM chunks (image chunks) and 8svx chunks (sound chunks) were IFF files with internal metadata describing their contents. You could have both types in one file if you liked or had a reason for it.

      What was your point again?

      --
      -josh
    97. Re:spaces bad, special chars bad by Eivind · · Score: 1
      Some of these *are* tricky. I actually had one professor whose standard answer to deleting difficult files created by accident was to instruct students to type "rm -i *" and then just answer yes for the files they actually wanted to delete.

      This works for the overwhelming majority of "problematic" filenames. Three guesses what that does when there's a file '-rf' in your current directory.... In the words of the befallen student: "If I didn't know better, I'd think you just deleted all my files..."

      The thing is, -i and -f are mutually exclusive, and when both are present on a command-line, whichever is last takes precedence. so rm -i -rf * won't actually ask anything, but instead it'll recursively, forcefully, remove everything that matches * (which will save your dotfiles, but that's not much of a comfort)

      (for the curious '--' means "end of flags" and ensures that anything later will be interpreted as a filename. So "rm -i -- *" would have worked as expected)

    98. Re:spaces bad, special chars bad by Eivind · · Score: 1
      Agreed. using whitespace in separating words is somewhat tricky in a world where whitespace in filenames are getting increasingly common. (and arguably was always broken anyway, only less noticeably so as long as people "didn't do that".)

      Several of the gnu-tools has options to null-terminate each filename. Which is better, since \0 isn't valid as part of a filename, but rather few tools understand about this, bash certainly doesn't, it thinks that echo "`find . -print0`" amounts to starting echo with a single argument.

    99. Re:spaces bad, special chars bad by medoc · · Score: 1

      > (One of the funniest Unix debacles I experienced was debugging a groups application -- they were moving files around and losing all but one each processing cycle... turned out they were remote copying from one Unix that had 14 (or more, can't remember) char limit on file names to an old SunOS system that allowed only 11. The remote copy that moved files from one system to the other for subsequent processing did so without complaint, the receiving side silently truncated the incoming files -- which were identical in name through 11 chars... essentially copying the incoming files over and over again on top of the same file... Sigh and sheesh!)

      All Unix systems I ever worked with (since 1986, version 7) had at least 14 characters file names.

      SunOS3 (around 1985) was using the Berkeley FFS and this had long file names (255 chars I think).

      I don't know about SunOS 1 and 2 but I don't think that these have ever been very common, and in any case, they quite probably supported 14 character file names as this was the original Unix standard. So there was probably some other problem involved ...

    100. Re:spaces bad, special chars bad by vtcodger · · Score: 1

      I spent a morning a few years ago straightening out an acquaintance's Windows 98 machine that was infected with something or other that had replaced hundreds of files with executables that had the original name with .EXE tacked on the end. Explorer showed only the first extension. So did most of the other things I tried. DIR from a DOS box shows the full name -- which is how I found the problem in the first place. And Find showed the full name. Just ran a quick test. AUTOEXEC.BAT.EXE shows up as AUTOEXEC.BAT... in the default large icon view, on this Windows 95 machine but the three dots are virtually invisible. I expect that it depends on the exact Windows version, which of the four views is chosen, and how things are configured.

      --
      You can't see ANYTHING from a car, You've got to get out of the goddamned contraption and walk...Edward Abbey
    101. Re:spaces bad, special chars bad by drinkypoo · · Score: 1

      No, never had problems loading IFF/ILBM images in anything that wanted to support them. If info files are considered metadata files, then Windows has them too; they're called PIFs and shortcuts.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    102. Re:spaces bad, special chars bad by squiggleslash · · Score: 1

      Nope. PIFs and shortcuts co-exist (in terms of what the user sees) with the files they refer to. By comparison, .info files are hidden from the user, with the user merely seeing the information they represent, not icons for the .info files themselves. Nor are shortcuts set up automatically by applications that save files with the correct metadata in them. The nearest equivalent to icons today is probably the .DS_Store mechanism of Mac OS X's current finder.

      (To understand what I mean, beg, borrow, or steal an Amiga, and find a directory with files in it, some with, some without, .info files. The root of a Workbench disk is fine. With Workbench 1.3 or lower, you'll just see those files that have metadata. For Workbench 2.0, you can also select a menu option to view the directory with files that don't have metadata ("View all files" vs "Icons only" or something.) Viewing all files doesn't result in the .info files suddenly appearing seperately. In terms of the metaphor the Amiga's designers were after, icon files were internal, something the user should thing do not even exist. I think part of the reason for seperating their handling into icon.library was because the whole idea of storing the information in seperate files was ugly, and I suspect the long term aim was to incorporate the metadata into the filesystem itself. Alas, that never happened.)

      It wasn't a terribly good way to store metadata, it wasn't terribly efficient Workbench acted oddly with files that didn't have associated .info files (by default hiding them altogether) while .info files were all over the place when you started to use the shell or poorly designed file selectors, but that was their purpose and they weren't supposed to be treated as files themselves. The one positive aspect to them is that they were easy to manage for users who did want to go to a low level.

      --
      You are not alone. This is not normal. None of this is normal.
    103. Re:spaces bad, special chars bad by drinkypoo · · Score: 1
      In terms of the metaphor the Amiga's designers were after, icon files were internal, something the user should thing do not even exist.

      Then why can you see them in the shell, instead of exclusively having commands to deal with them, and maybe a flag in "list" view (as in, when I run the list command) to show that they have metadata? I call shenanigans.

      The one positive aspect to them is that they were easy to manage for users who did want to go to a low level.

      They were easy for users to delete but not manage. There wasn't even a commandline tool for manipulating their contents! It had to be done through the GUI, or for all I know, with some ARexx crap.

      I've owned several Amigas, including 500, 2000, 2500, 1200, and 3000. My 2000 had both SCSI and MFM disks, and my 2500 had a genlock. I've played with tons and tons of software, both commercial and non. I still have a 1200 even, but I haven't turned it on for more than seeing if it still boots in about eight years. The only reason I still have it is that it's little larger than a keyboard.

      All of which leads me to state that info files suck, and if that was Commodore's idea of metadata, it goes nicely with their idea of marketing, which was what killed the company. Well that and the embezzlement.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    104. Re:spaces bad, special chars bad by squiggleslash · · Score: 1
      Then why can you see them in the shell, instead of exclusively having commands to deal with them, and maybe a flag in "list" view (as in, when I run the list command) to show that they have metadata? I call shenanigans.
      You can't see them in list view in Workbench. Yes, they're output by the list command on the command line, but ordinary use isn't supposed to be done at that level. The CLI isn't the environment in which this type of metadata is used. It's the Workbench in which the metadata is utilized. And in the Workbench, you cannot deal with .info files and their associated files seperately, the .info file is hidden from the user and is treated purely as a source of metadata.
      They were easy for users to delete but not manage. There wasn't even a commandline tool for manipulating their contents! It had to be done through the GUI, or for all I know, with some ARexx crap.
      That's not what I was refering to. Manage in this context meant "manage as a file", not "manage the contents of".
      All of which leads me to state that info files suck
      I'm not disagreeing with you. But they're not "the same as" .PIFs or shortcuts. The fundamental concept that files should be associated with a tool to open them in, rather than this being assumed by type, isn't a bad one. One thing I will say though is that .info files are better than nothing, and it's a crying shame that in 2006, OVER TWENTY FUCKING YEARS SINCE WORKBENCH FIRST CAME OUT, GNOME, Windows, et al are still with "nothing", using derived data types and file extensions to launch "default" tools rather than allowing the association of specific tools with files, and Macintosh is, increadibly, joining them. I'd like the metadata to be in the file system, but failing that, icon files is an adequate, if far from ideal, alternative.
      --
      You are not alone. This is not normal. None of this is normal.
    105. Re:spaces bad, special chars bad by Anonymous Coward · · Score: 0

      Because it's really no different than having 'data2' and 'Eata2' in the same directory. 'D' and 'd' are different values. Should I be prevented from having 'File1' and 'File01'?

    106. Re:spaces bad, special chars bad by Tom · · Score: 1

      Which is why application-included icons are another dumb idea.

      At the very least, there should be some obvious, non-fakeable indicator of executables.

      --
      Assorted stuff I do sometimes: Lemuria.org
    107. Re:spaces bad, special chars bad by Anonymous Coward · · Score: 0

      At the very least, there should be some obvious, non-fakeable indicator of executables.

      -rw-r--r--

      -rwxr-xr-x

    108. Re:spaces bad, special chars bad by jez9999 · · Score: 1

      Ah, but many people frequently swap capitalization for convenience, me included. I may want to call my file ReadThis, but on the commandline I'd like type re, then TAB. I want it to ignore capitalization when searching, and I don't want to worry about capitalization when searching, which i can't do when the FS is case-sensitive.

    109. Re:spaces bad, special chars bad by SanityInAnarchy · · Score: 1
      instead of, sensibly, storing that information elsewhere.

      You're right, but where? It's kind of hard to sensibly enforce a way of storing it inside the file. The only bit of metadata that reliably follows a file around is its name.

      I believe OS X lets me set which program I want to open a given file with, as well as global "files of this type" preferences. The file extension is still useful.

      You sound like you'd be right at home on the Reiser4 mailing list, though -- they are all about letting the filesystem itself handle every kind of metadata, which is an interesting, unconventional approach that's also not relevant right now.

      --
      Don't thank God, thank a doctor!
  9. File servers! by WPIDalamar · · Score: 5, Informative

    Too bad the article didn't mention what happens when you copy long filenames over the network. All kinds of crazy things happen in all kinds of client/server combinations.

    Try copying a 40 character file from a windows server to a OSX client. What happens? Well... it depends if you used appletalk or SMB to connect with.

    What about OSX server -> a windows client... depends on the version of windows AND OSX of course.

    I've had nightmares.

    Wanna be safe most of the time:
    1) No spaces
    2) Under 32 character filenames
    3) Alphanumeric, underscore, period, or hyphen ONLY
    4) Only a single period allowed.

    1. Re:File servers! by Rosyna · · Score: 1

      Try copying a 40 character file from a windows server to a OSX client. What happens? Well... it depends if you used appletalk or SMB to connect with.

      Which is always the issue. Windows is the weakest link. Services for Macintosh (now deprecated) is the thing that changes the names to be "mac safe" even though the idea of "mac safe" has long since changed since SfM was created. "Luckily" SfM is gone in Vista.

    2. Re:File servers! by NutscrapeSucks · · Score: 1

      Well, SfM has one set of problems, but the OS X SMB client has another set, so it's not definite which is better.

      --
      Whenever I hear the word 'Innovation', I reach for my pistol.
    3. Re:File servers! by mrchaotica · · Score: 1

      Any weaknesses in SMB are Microsoft's fault (because it created the protocol) regardless of whether it's the MS client or not.

      The real problem here is that Windows doesn't support a proper network filesystem.

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    4. Re:File servers! by bazorg · · Score: 1

      this just shows that people should have settled for 8 characters for filename, 3 for file extension and google desktop to actually do the finding...

    5. Re:File servers! by Anonymous Coward · · Score: 0

      "Wanna be safe most of the time:
      1) No spaces
      2) Under 32 character filenames
      3) Alphanumeric, underscore, period, or hyphen ONLY
      4) Only a single period allowed."

      A useful guideline. What would be interesting would be to have a table showing the various combinations of filesystems/network file systems/client OS versions, and what filenames would be safe under the given combinations.

      I think the list you've provided here will cover most combinations that aren't as archaic as 8.3 support only. What you describe is generally how I name files anyway, because I never know what system I might be porting them to. I'd also add:

      5) No filenames or directories with the same non-case-sensitive name in the same location (e.g., no README and ReadMe in the same directory).

    6. Re:File servers! by SilentChris · · Score: 1

      We're actually dealing with this on a very large basis. We have about 1000 users, 400 Mac and 600 PC, accessing about 12 TB of data on a PC server. We need to use AFP because, even on OS X, the Macs store a lot of metadata crap (Adobe Photoshop, for example). Microsoft's Mac file server sucks, so we looked around for an alternate solution. We're testing with a program called "ExtremeZ-IP", which works fairly well. It doesn't read through indexes when starting up (which leads to faster boot times) and more importantly, it's clusterable (MS's solution isn't). However, we're still running into the same issues. Now, Mac users can save files that Windows users can't change or delete. /groan

      I wish Apple would just move the metadata crap out of AFP and into something universally accessible. I can't stand having to pay tens of thousands of dollars for a product just because Apple can't write well using SMB.

    7. Re:File servers! by NutscrapeSucks · · Score: 1

      The problems I'm referring to are poor handling of network disconnects and filename issues with extended characters -- both of which I'm sure are specific to the OS X client. The SMB situation on Macs is 1000x better now that it was a year ago (still some problems, but not nearly as many), and not because Microsoft changed anything.

      --
      Whenever I hear the word 'Innovation', I reach for my pistol.
    8. Re:File servers! by LoudMusic · · Score: 1

      I agree with you on all aspects except the spaces, though 'no spaces' is of course the most robust. HFS+ / OS X don't care about spaces or their placement but NTFS / Windows do not like having a space at the begining or double spaces (I think ...). And the multiple periods has never been an issue for me.

      --
      No sig for you. YOU GET NO SIG!
    9. Re:File servers! by ZachPruckowski · · Score: 1

      just because Apple can't write well using SMB.

      Apple can't be bloody mind-readers. If MS opened up SMB a bit, like by releasing specifications, maybe Apple could use it better. Linux too for that matter. Good thing the EU is trying to force them to do that, huh?

    10. Re:File servers! by Krimszon · · Score: 1

      One of the most bizarre things I've encountered:
      Use a character that is illegal on Windows in a filename on OS X. Then copy the file to a windows share with SFM. Windows doesn't show the special character, but it does put a tiny dot under the last character of the filename. If you try to delete that character, the dot will move to the left. WTF?

    11. Re:File servers! by snuf23 · · Score: 1

      A space at the end of a file will freak out Windows as well. I just had a case of this with a QuarkXpress file named "Document.qxd " which couldn't open on the Windows computer the web team uses.

      --
      Sometimes my arms bend back.
    12. Re:File servers! by Gnavpot · · Score: 2, Informative
      Windows do not like having a space at the begining or double spaces (I think ...).
      Spaces in the middle of a file name can also be frustrating in Windows, even with pure MS programs.

      Example:
      If I want to point someone on the corporate network to a huge file which resides on a network drive we can both access, I can just send a mail with this text:
      file://K:\somedirectory\somefile.iso
      Both Outlook and Thunderbird will create a link to the file when showing this mail.

      However, this will not work in Thunderbird nor Outlook:
      file://K:\some directory\somefile.iso
      This will not work in Thunderbird nor Outlook:
      "file://K:\some directory\somefile.iso"
      file://"K:\some directory\somefile.iso"
      file://K:\"some directory"\somefile.iso
      This will work in Thunderbird, but not Outlook:
      file://K:\some%20directory\somefile.iso
      Disclaimer: My Outlook testing was done in Outlook 2000 and 2002/XP. Outlook 2003 may be different.
    13. Re:File servers! by the_greywolf · · Score: 1

      Quite the contrary! SMB and CIFS are industry-accepted standards. It just turns out Microsoft doesn't follow their own specs.

      --
      grey wolf
      LET FORTRAN DIE!
    14. Re:File servers! by amliebsch · · Score: 1

      Correct me if I'm wrong, but I believe that UNC resources should not use backslashes, only forward slashes. Thus your link should be file://K:/Some Directory/somefile.iso. In my version of Outlook, at least (2003), this gets auto-linkified when I type it.

      --
      If you don't know where you are going, you will wind up somewhere else.
    15. Re:File servers! by Gnavpot · · Score: 1
      Correct me if I'm wrong, but I believe that UNC resources should not use backslashes, only forward slashes. Thus your link should be file://K:/Some Directory/somefile.iso. In my version of Outlook, at least (2003), this gets auto-linkified when I type it.
      Unless I misunderstand the concept of UNC resources, this is not a real UNC resource, since I am using drive letter instead of server and share name. Anyway, if it works, use it.
      But replacing all the backslashes with slashes is still extra work which is only necessary when the path has spaces in it.
    16. Re:File servers! by Gadget_Guy · · Score: 1
      Unless I misunderstand the concept of UNC resources, this is not a real UNC resource, since I am using drive letter instead of server and share name. Anyway, if it works, use it.
      But replacing all the backslashes with slashes is still extra work which is only necessary when the path has spaces in it.

      Actually he really meant to say URL and not UNC. You are correct that a UNC should contain backslashes, but a URL (which is what you are getting with the file://) should only use the forward slash separator.

      The reversed slash format is the biggest problem with the Microsoft platforms. They came about because CP/M used the / character for command line arguments (which was faithfully copied into DOS), so when they added directory support to DOS then they had to use another symbol.

      They have supported forward slashes in filenames since the days of DOS 3 or 4 (I think), but you occasionally find something that does not work with it. In this case UNC format is a prime example.

  10. from the like-doing-it-with-sandpaper dept. by Megaweapon · · Score: 1

    TMI Hemos!

    --
    I'm sure "SlashdotMedia" will improve on all the wonders that Dice Holdings blessed us all with
  11. NTFS WTF? by Durandal64 · · Score: 1
    Windows file names can be up to 255 characters, but that includes the full path.
    Holy shit is this true? That seems like a brain-dead limitation to have in the year 2006.

    Oh and Mac users didn't really have support for long file names until OS X. HFS has always supported 255-character file names, but in OS 9 and earlier, the Finder would only recognize up to 31 characters for a file name, so it was basically impossible to have a file name greater than 31 characters even though the file system allowed it.
    1. Re:NTFS WTF? by fruity_pebbles · · Score: 1, Insightful

      NTFS paths can be up to 32767 characters. Or so i read - I'm too lazy to try it myself.

    2. Re:NTFS WTF? by ebh · · Score: 1

      Yes, it's true, and it really kills you in ClearCase, where you might have a file name like M:\some_view\some_vob\src\deep\path\to\file@@\main \some_branch\some_other_branch\1.

    3. Re:NTFS WTF? by amliebsch · · Score: 1
      Holy shit is this true?

      No.

      --
      If you don't know where you are going, you will wind up somewhere else.
    4. Re:NTFS WTF? by EnsilZah · · Score: 1

      Heh, i recently came across that problem, i was trying to extract some zip files into an already long path and i kept getting errors on some of the files, took me a while to realize that the path of the extracted files was longer than windows allows.

    5. Re:NTFS WTF? by Quantam · · Score: 2, Interesting

      Yes and no. That was a limitation of Windows 9x (a holdover from DOS and Unix), and still exists in the ANSI versions of the NT APIs. However, the native NT Unicode APIs support 32k characters for the path. I don't know if there's a 255 char limit on individual names for NT, off the top of my head. Though it's possible that the number of programs still using the ANSI APIs (since the Unicode version only works on NT, but the ANSI version works on 9x as well) may impose an artificial limit of 255 char paths on your file system.

      --
      You have tried to support your argument with faulty reasoning! Go directly to jail; do not pass Go, do not collect $200!
    6. Re:NTFS WTF? by mrsbrisby · · Score: 1

      Though it's possible that the number of programs still using the ANSI APIs (since the Unicode version only works on NT, but the ANSI version works on 9x as well) may impose an artificial limit of 255 char paths on your file system.

      It's not just possible, it's extremely common.

      Looking at WINE debug logs for many different applications, I'd say as far as "reality" is concerned, Windows still has that 255 character limit.

    7. Re:NTFS WTF? by Anonymous Coward · · Score: 0

      HFS has always supported 255-character file names, but in OS 9 and earlier, the Finder would only recognize up to 31 characters for a file name

      Close, but not quite. HFS only supported 31-char filenames. HFS+ (which was introduced in Mac OS 8.1) added support for 255-char filenames. But, as you correctly noted, the Finder did not support names > 31 chars until Mac OS X.

    8. Re:NTFS WTF? by BentSorenDahl · · Score: 0

      Oh-so-you-are-also-one-of-those-people-who-think-t hat-you-dont-need-to-put-anything-in-the-file-as-l ong-as-you-can-have-long-enough-filenames-That-is- really-cool-because-then-you-dont-need-to-open-the -file-to-see-the-contents.txt

    9. Re:NTFS WTF? by CaveMike · · Score: 1
      Nice info. To expand on this a bit, the ANSI versions of the Win32 file functions limit to MAX_PATH (which is 260). The UNICODE versions limit to 32k, but to create paths that long you need to specify the path in UNC format (basically prepend local paths with "\\?\"). IIRC, if you call the UNICODE versions without that prefix, the MAX_PATH limit is still in effect. Some malware takes advantage of these differences to create paths that cmd.exe and explorer.exe cannot transverse, let alone delete.

      On an unrelated (but hopefully interesting) note, NTFS also has support for multiple streams. cmd.exe (and explorer.exe I think) only show details for the primary stream. This means you can add "hidden" data to a file. The second stream could be 1000 bytes, but when you dir it, the file size shows up as 0 bytes. I think streams have been a standard feature on Macs for a while, right? They were used to store the GUI resources.

    10. Re:NTFS WTF? by Durandal64 · · Score: 1

      Yes. But the resource fork generally isn't used for hiding data because it's easy enough to get information about the file's resource fork size. But it's actually a pretty good way to hide malicious code. (One thing I'd like to see from Apple is denying code execution from the resource fork. There's no legitimate reason to have code from there executing at this point.) I'm pretty sure that all the POSIX command line utilities in OS X respect resource fork information as of Tiger. I don't know much about how NT's streams work, but it sounds like they could be arbitrarily many from what you're saying. On the Mac, there are two: data and resource. They are at the file system level. Apple is trying very hard to phase out the resource fork completely because it screws with interoperability. Now the resource fork is mainly used for storing custom icons on files.

    11. Re:NTFS WTF? by Lord+Ender · · Score: 1

      I just tested this in XP SP2. The longest path it let me make is about 250 chars.

      It is possible that this is just explorer stopping me, though.

      --
      A slashdotter who didn't build his own computer is like a Jedi who didn't build his own lightsaber.
    12. Re:NTFS WTF? by Barny · · Score: 1

      Don't believe that number is correct, had a failure in this the other day while backing up a customers data (it gets backed up into the current PCs "my docs" folder), think it worked out to C:\documents and settings\backupuser\my documents\backups\\Documents and settings\\application data\microsoft\ think it went about 10 more directorys and died.

      --
      ...
      /me sighs
    13. Re:NTFS WTF? by DLWormwood · · Score: 1

      But it's actually a pretty good way to hide malicious code.

      Yup, the only time in the Mac's history where viruses were a concern (the System 6 era, thereabouts) was due to this mechanism. The Finder used a resource file to maintain app bindings, and many UI definition resources (like MDEF and WDEF) contained executable code to draw the UI. Apple mostly patched this problem by moving the Finder to using a database instead a resource file in System 7.

      One thing I'd like to see from Apple is denying code execution from the resource fork. There's no legitimate reason to have code from there executing at this point.

      On Intel Macs, sure. But executable code resources are still needed by the Classic layer on PPC systems, which is the only way to run 68k-era apps under OS X. (Yes, they're still out there... mostly one-shot, vertical market stuff.)

      I don't know much about how NT's streams work, but it sounds like they could be arbitrarily many from what you're saying. On the Mac, there are two: data and resource.

      HFS+ supports arbitrary forks just like NTFS's streams, but I have yet to encounter a Mac app that used one.

      Apple is trying very hard to phase out the resource fork completely because it screws with interoperability.

      Resource data can be "flattened" to provide interoperability, especially combined with OS X's "bundle folder" concept. However, Apple shot themselves in the foot trying to deprecate both file metadata (read, creator and type codes) and resource forks at the same time soon after Jobs' return. This lead to a backlash from both users and developers, with them accusing Apple of trying to throw away the baby (metadata) with the bathwater (legacy data storage). Even to this day, many users mistakenly think that the Mac OS uses the resource fork to store creator, type, Finder info and rich date stamp information, when the only relationship the two concepts had with each other was removed by System 7 during the Finder resource-to-database transition.

      Now the resource fork is mainly used for storing custom icons on files.

      And custom metadata for workflows (like older version control, IPTC keywords, window placement, toolbar visiblity, etc), especially by apps like Photoshop and Finder's Folder Actions support, IIRC. Hopefully these final uses will go away when Spotlight finally becomes ready for primetime and acts more like BeOS supposedly did. As much as I think the resource fork was an elegant solution to many file system problems, I doesn't scale well on modern systems (24-bit offsets, live memory address writing) and really should be replaced by a universal container format or micro-database system.

      --
      Those who complain about affect & effect on /. should be disemvoweled
  12. Unusual characters in filenames by Rik+Sweeney · · Score: 1, Interesting

    I think the biggest problem I had one day was when I was trying to remove a file in Linux who's first character was -

    rm and mv kept complaining that the character after the switch wasn't valid and eventually I had to navigate to the file in X and delete its icon which did the trick.

    Not a particularly exciting story, but an interesting one none the less.

    1. Re:Unusual characters in filenames by arose · · Score: 1

      rm -- -

      --
      Analogies don't equal equalities, they are merely somewhat analogous.
    2. Re:Unusual characters in filenames by JanneM · · Score: 2, Informative

      As a quick tip, "rm -- filename" would have worked; it makes rm not parse the filename in any way whatsoever.

      --
      Trust the Computer. The Computer is your friend.
    3. Re:Unusual characters in filenames by Bogtha · · Score: 5, Informative

      I think the biggest problem I had one day was when I was trying to remove a file in Linux who's first character was -

      That is what the -- option is for. It signifies that there will be no further options, so anything following it that starts with '-' will be interpreted as a filename. rm -- -funny-named-file will do the trick.

      --
      Bogtha Bogtha Bogtha
    4. Re:Unusual characters in filenames by Anonymous Coward · · Score: 0

      Use double-dash. For a file named '-oldname':

      mv -- -oldname newname

    5. Re:Unusual characters in filenames by mjm1231 · · Score: 2, Funny
      That reminds me of the story about the time I learned to specify the path to the file I was deleting, such as:

      rm /home/someuser/-file

      Or even

      rm ./-file.

      --
      Ideology: A tool used primarily to avoid the bother of thinking.
    6. Re:Unusual characters in filenames by Zoxed · · Score: 1

      > "rm -- filename" would have worked; it makes rm not parse the filename in any way whatsoever.

      IIRC the "--" is not an command specific feature, but is a feature of the bash shell (and probably others).

    7. Re:Unusual characters in filenames by Alranor · · Score: 1

      rm -- -whateveritwasyoucalledthefile

      or

      rm ./-whateveritwasyoucalledthefile

    8. Re:Unusual characters in filenames by limbostar · · Score: 1

      Lots of people have mentioned the double-dash that makes getopt (the argument processor that rm uses) stop processing flags. But there's a simpler solution:

      rm ./-

      Since the dash is no longer first, it's not confused with a command.

      (Typed with -v to evade the lameness filter.)

      --
      this is a sig.
    9. Re:Unusual characters in filenames by NightWhistler · · Score: 1

      If you can't remember the other tricks, Midnight Commander (http://www.ibiblio.org/mc/) is your friend.

      Should be installed by default on most Linux distros, and doesn't require X.

      --
      PageTurner Reader: open-source e-reader for Android with cloudsync. http://pageturner-reader.org
    10. Re:Unusual characters in filenames by mrchaotica · · Score: 1

      Did you try putting a " -- " before the filename? That's (usually) the switch used to tell the program to stop interpreting arguments as switches.

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    11. Re:Unusual characters in filenames by Anonymous Coward · · Score: 0

      me@test:~$ rm -bla
      rm: invalid option -- b
      Try `rm --help' for more information.
      me@test:~$ rm -- -bla
      me@test:~$

    12. Re:Unusual characters in filenames by bsantos · · Score: 1

      In case it happens again, most of cli utils use the -- to know that if any other - shows up after it, it is not an option. Don't know if it is something about the parser lib used, so that all the apps that use it, work that way, or a design feature. It should work with mv, cp, rm.

    13. Re:Unusual characters in filenames by Anonymous Coward · · Score: 0

      Solution:

      $ rm -- -weirdfile
      (-- tells the option parser to stop there)
      or
      $ rm ./-weirdfile
      (first character is . so it doesn't look like an option)

    14. Re:Unusual characters in filenames by TheOrquithVagrant · · Score: 1

      I've always considered this to be a borderline bug, since this also happens in wildcard expansion. If you do a "command *" in a directory where there are files beginning with a -, the wildcard will expand in a way that makes the command take the filename of file beginning with - as an option/argument. I've never found any "evil" way to exploit this, but it's always bothered me a bit.

    15. Re:Unusual characters in filenames by roemcke · · Score: 1

      Huh.. How could this be modded interesting without someone posting the solution?

      rm -- -foo

      `man rm' is your friend.

    16. Re:Unusual characters in filenames by Anonymous Coward · · Score: 0

      1) Use \ to protect
      2) Use enclosing quotes to make literal (though grep doesn't like it. you can only grep on a charstring beginning with - if there is another character before it
      3) As you did, remove using a GUI

    17. Re:Unusual characters in filenames by Constantine+Evans · · Score: 1

      Using ./-filename instead of -filename should work in these cases.

    18. Re:Unusual characters in filenames by Anonymous Coward · · Score: 1, Informative

      IIRC the "--" is not an command specific feature, but is a feature of the bash shell (and probably others).

      No, it is a feature of getopt(3).

    19. Re:Unusual characters in filenames by Anonymous Coward · · Score: 0
      Most unix command-line tools stop parsing arguments as filenames after a double-dash, e.g.:
      rm -- -foofile
      will delete the file `-foofile.' Just to let you know.

      - chris_eineke

    20. Re:Unusual characters in filenames by cortana · · Score: 1

      To be safe, you should always use command -- *, just as you always escape variable expansions with double, quotes: "$VARIABLE_THAT_MAY_CONTAIN_SPACES_ETC"

    21. Re:Unusual characters in filenames by MyOtherUIDis3digits · · Score: 1

      For future reference, try this when you have a situation like that:

      rm ./-file

      Works like a charm!

      --
      Ignore anything I said above, I actually agree with everything you believe - mod accordingly.
    22. Re:Unusual characters in filenames by MS-06FZ · · Score: 4, Insightful

      Or perhaps more simply:

      rm ./-annoying_file

      --
      ---GEC
      I'm but the humble pupil, seeking to snatch the scratchbuilt pebble from the master's fully articulated hand
    23. Re:Unusual characters in filenames by 91degrees · · Score: 1

      I've never found any "evil" way to exploit this, but it's always bothered me a bit.

      Would a file called "-rf" in an otherwise empty directory be evil? Someone may well try "rm *" when other options go wrong.

    24. Re:Unusual characters in filenames by 91degrees · · Score: 2, Interesting

      That is a directory with no files but several other directories in it...

    25. Re:Unusual characters in filenames by 14erCleaner · · Score: 3, Funny
      Of course, the funny characters are usually expanded by the shell, not rm, so it still won't work in many cases. Unix rules sometimes, doesn't it?

      My favorite shell-expansion moment: when I was a new Unix user long, long ago (freshly coming over from VMS), I wanted to remove one funny-named file in a directory. I discovered that rm had this cool switch "-i" that would prompt for removal on each file. Great! I'd just say "yes" to the file named *, or whatever I'd accidentally created. So, being a VMS user (and thus used to switches that went anywhere on the command line), I typed this:

      $ rm * -i

      ...and got the message "-i: No such file or directory". Ooops.... I learned a lot that day...

      --
      Have you read my blog lately?
    26. Re:Unusual characters in filenames by decadre · · Score: 1

      One option is to encase the file name in quotes, eg: rm "-file", much like you might for a name with spaces

    27. Re:Unusual characters in filenames by basilpronoun · · Score: 1

      It won't work. The shell takes the quotes away before rm sees them. If you escape the quotes with backslashes then rm sees them but thinks they're part of the filename.

    28. Re:Unusual characters in filenames by jonadab · · Score: 1

      Why stop with switch characters, filename delimiter characters, and shell metacharacters, and unprintable characters in filenames? Since files are labelled with their filename in graphical file managers, wouldn't it be great if we could label them with more complicated things? I've caught myself wishing I could get icon labels on a desktop to break across lines at a different place -- i.e., wanting to put line breaks in the filenames. But why stop there? Indeed, why stop at _characters_? Why can't we make one word of a filename bold or italic? Why can't we include pictures or animations?

      The reason is, of course, because the filename was not _intended_, when it was developed, to be a visual label for an end user in a graphical environment. It was intended to be a unique identifier that would allow programmers and technical users to distinguish one file from another.

      The role needs to be split. New filesystems ought to have a file identifier (which should _not_ be permitted to contain any weird characters) and a file label or description (which _should_ be allowed to contain basically anything). For compatibility reasons, most files would probably start out with obvious correspondences, e.g., a file might be labelled as "some file" in the GUI and have "some_file" as the file ID. But if the user _wanted_ to change the label so that the word "some" is in blue and the word "file" is in green and the whole thing is in Bitstream Vera Serif 32pt italic, then the user would be able to do that _without_ screwing up the file identifier. Indeed, if the user wanted to change the labels on important system files, that should not change the identifier or cause anything to stop working. (Mac users take note: you could re-label your hard drive without screwing anything up.)

      Command-line users would probably work directly with the file identifier, but command-line users are inherently more technically-oriented, so that seems reasonable. One supposes there would also be a utility to look for a file by its description and return the identifier so you could do things like
          rm `find-by-description JunkFile`
      (Although one supposes that the utility would have a much shorter name than that.)

      As far as the length of the identifier goes, I can't think of a good technical reason to limit that. But there are all _kinds_ of technical reasons to limit what characters it's allowed to contain.

      As far as the label or description, its length also should be unlimited, and by that I do *not* mean a measley 256 characters.

      --
      Cut that out, or I will ship you to Norilsk in a box.
    29. Re:Unusual characters in filenames by iluvcapra · · Score: 1

      I've got you beat.

      I was running OS 9 and had installed a particular shareware program that would sequence text of a fixed vocabulary into speech - it used a sampled voice to generate air-traffic-control style messages for a flight simulator. It had audio files named after each word in the vocabulary, such as "hold short", "alpha" , "bravo", etc. It had numbers, and it had the word "point", which was cleverly named with ASCII character 46, also known as ".".

      One day, I upgrade to OSX, and the program doesn't work anymore, so I put it and its resources in the trash and try to empty it. The trash won't empty, but the Finder doesn't emit a message, either, so it's a mystery. I find that a path of folders leading to an empty folder that once held the samples was, and it showed this folder as empty. I, being clever, did this:

      $ ls -la ~/.Trash/some/path/Audio Samples/

      total 3
      drwxr-xr-x 15 jamie jamie 510 10 Jul 16:18 .
      -rw-r--r-- 1 jamie jamie 9900 10 Jul 15:54 .
      drwxrwxr-t 6 jamie jamie 204 10 Jul 15:54 ..

      Yes, that's two "." links in that folder. I had to reboot in OS9 to throw the file away.

      --
      Don't blame me, I voted for Baltar.
    30. Re:Unusual characters in filenames by kramulous · · Score: 1

      Haha ... [ Wipe tear from eye ] ... beautiful.

      --
      .
  13. Any way to turn off Joliet support in Windows XP? by esnible · · Score: 4, Interesting

    I've got a CD-ROM that is unreadable under Windows XP because a Mac user put the files in a directory containing a '>' character.

    If I can turn off Joliet comprehension I'll have access to the files in their original ISO9660 8.3 glory.

    It's unfortunate that Microsoft's Joliet driver doesn't realize it's presenting names the OS can't tolerate. Otherwise it could replace the forbidden characters with % escapes before returning them to the OS. Or, alternately, handing the ISO9660 name to the OS if the Joliet name was forbidden by Windows' rules.

  14. Re:Does someone have a problem or two? by Rik+Sweeney · · Score: 1

    Is this anything other than an attempt to dis Windows for no other reason than 'Because'?

    Nope.

    HTH.

    Richard
    xxx

  15. If this had been fark... by Siberwulf · · Score: 1, Insightful

    There would be about 40 "Why the hell was this greenlit".

    That aside, isn't Slashdot "News for Nerds" ????

    How about posting more info about why WinFS was scrapped, rather than how windows/linux/mac has been for the past X years.

    Bring on the modding, my karma can take it.

    1. Re:If this had been fark... by Winckle · · Score: 3, Funny

      Bring on the modding, my karma can take it.

      Ah the magic words for +5

    2. Re:If this had been fark... by suffe · · Score: 1

      I used to think so as well, but then something occurred to me. I (almost) never see the comments with low scores (unless they are in an interesting thread) and thus will miss all the "This wll get me modded down" comments that actually was modded down. Worth considering. =)

      --

      Karma: 2.71828182846 (Mostly due to small, fun pills)
    3. Re:If this had been fark... by Teun · · Score: 1
      isn't Slashdot "News for Nerds" ????

      Not every nerd is born that way, most have a long path to reach their status.
      And along the way they have to learn, even if through Slashdot.

      --
      "The likes of Facebook and WhatsApp are free to those whose privacy is of zero value."
  16. Bah - OS Vendor support of long filenames by Rauser · · Score: 5, Insightful

    So, your OS supports long filenames, huh? Then why doesn't the vendor use them for all the cryptically named shared libraries, scripts, etc. that clutter up any modern os system directory?

    They way I look at it, the day I look at something like "d3d8.dll" or whatever drek is fermenting in \WINDOWS32\ and it is actually named with a descriptive filename, then that OS will truly support long filenames.

    Not sure where the Linux crown compares, but OS X is getting better with each revision. Classic Mac OS had this one down (mostly) cold.

    --
    The white zone is for loading and unloading only. If you need to load or unload go to the white zone. It's a way of life
    1. Re:Bah - OS Vendor support of long filenames by Ant+P. · · Score: 1

      Actually now you mention it... Linux is worse than Windows.

      My /usr/lib/ has about 2000 files.
      About 60% of these are un-numbered symlinks to libraries with version numbers appended to the filename. Almost everything is (redundantly) prefixed with "lib". To make things even more fun, the names are composed of pseudorandom mixtures of nouns, acronyms, abbreviations and hyphens. Some of the acronym parts are uppercased properly. Some aren't. If you look hard enough you'll see some camel-case in there too. It's insane.

    2. Re:Bah - OS Vendor support of long filenames by Anonymous Coward · · Score: 1, Funny

      I proclaim the parent shall languish in obscurity! How dare you point out flaws in Linux?! Begone, blasphemer!

    3. Re:Bah - OS Vendor support of long filenames by Anonymous Coward · · Score: 0

      The reason for that is more historical baggage. The early stage (text mode) of Windows installation can't handle filenames that violate 8.3 restrictions.

    4. Re:Bah - OS Vendor support of long filenames by megaditto · · Score: 1

      Why not sue this 'linux' vendor and get your money back?

      --
      Obama likes poor people so much, he wants to make more of them.
    5. Re:Bah - OS Vendor support of long filenames by PeterBrett · · Score: 1
      About 60% of these are un-numbered symlinks to libraries with version numbers appended to the filename. Almost everything is (redundantly) prefixed with "lib".

      These are automatically generated by a wonderful thing called 'libtool' which allows you to have multiple versions of the same library installed at the same time, while your applications magically use the one they need. The 'lib' prefix is added by libtool, IIRC.

      The contents of /lib/, /usr/lib/ and /usr/local/lib aren't meant to be usable by humans. If you want to know what libraries & versions you have installed, use ldconfig -v. Nowadays, you don't often need to know unless you're building software, in which case there are lots of tools that build configuration scripts can use to work out which versions of libraries you have and tell you if you need newer ones: autoconf, pkgconfig, etc.

      I think libtool is a remarkably clever and flexible system. FIf you can think of a better way of handling it, feel free to disagree with me. Don't forget, Windows doesn't even try: every application brings along its own copies of the libraries it uses...

    6. Re:Bah - OS Vendor support of long filenames by Anonymous Coward · · Score: 0

      I think libtool is a remarkably clever and flexible system. FIf you can think of a better way of handling it, feel free to disagree with me.

      Actually I think the grandparent gave several examples of better ways to handle it: 1) Drop the redundant 'lib' prefix to the names (which has no technical relevance anyway) and 2) Have sane human-readable library names.

      Just because it isn't intended to be used by "humans" (programmers aren't humans?) doesn't mean that you can't have sane library names, especially when there's no technical reason not to.

      And there are lots of ways the thing could be improved on. The system with symlinks and version numbers is a quite crude way of handling dependencies. Ideally you'd have additional metadata specifying things like which libraries are backwards-compatible with which (other than just relying on major/minor versions), and programs should ideally be able to supply the linker with information on which lib versions it's compatible with.

      And while we're at it, (dynamically-linked) binaries should be linked on installation. That should be handled by the package-management system or whatever. That'd also alleviate a lot of the dependency hell which is out there in the Linux world.

      This stuff already exists on other operating systems (although no microcomputer ones that I know of). So if you think the libtool system is great, you really need to open your eyes a bit or get some imagination. There are better ways.

    7. Re:Bah - OS Vendor support of long filenames by dbIII · · Score: 1
      Ideally you'd have additional metadata specifying things like which libraries are backwards-compatible with which (other than just relying on major/minor versions), and programs should ideally be able to supply the linker with information on which lib versions it's compatible with.
      Oddly enough they already do the linking to the correct version by filename, and it's a lot easier to look at the names than some metadata handled by some sort of registry reader - just look at the mess that is gconf (you can see the settings but you can't even export them to another user on the same machine - perhaps the Sabayon project will get this finished before it's second year, but for now the settings are not portable).

      As for the "dependancy hell" which should be sorted out by the package management system - that is the entire point of the package management system - making sure that each app has the correct libraries available. With almost everything but MS Windows you can have an old dynamic library needed by an app compiled in 1995 and run it on a modern system because it can load the library by its version number. If it can't do it on its own you may have to feed it some environment varibles in a script - but it can even have a different libc if you tell it which one to use. The alternative used in MS Windows is to try to make each new version of a library fully compatible with all of the older versions because you have no choice - the name will be the same. It sounds like a tidy way to go, but the reality is that things break, and you get a choice of running one app or another based on the age of the library - so for the sake of stability you end up with lots of large staticly compiled apps taking up memory as the alternative to "DLL hell". This is why MS Windows binaries are almost always larger than others that do the same job - because the developers can't trust that the dynamic libraries will do what they are supposed to in some cases. On other platforms you can build for libfoo.2.3.0 and know exactly what it will do and that it will keep on doing the same thing in a decade so long as people download libfoo.2.3.0 if libfoo.9.9.9 doesn't work - and that applications needing libfoo.9.9.9 will also work at the same time. You can have multiple versions of the same library - and it is a good and very useful thing even if it looks a bit untidy.

      I'll return you to the usual discussion where some newbie will propose that a very large and obfiscated registry where the bits you need to edit are locked is vastly superior in every way to a bunch of small files in /etc/ which you can edit when required.

    8. Re:Bah - OS Vendor support of long filenames by Schraegstrichpunkt · · Score: 1

      I think you're getting libtool confused with the runtime dynamic linker (ld.so). libtool is a script used during compilation.

    9. Re:Bah - OS Vendor support of long filenames by julesh · · Score: 1

      The reason for that is more historical baggage. The early stage (text mode) of Windows installation can't handle filenames that violate 8.3 restrictions.

      I think you're half true: you're right that that is where the restriction is, but it isn't just historical baggage, though. The point is that the first stage of the install process (copying the system onto your hard disk) has to be able to run under DOS, because that is the only way to be sure the installation process is compatible with everything that can run Windows (e.g. you may still have a machine whose BIOS isn't capable of booting the CD - I have one of those that's over minimum spec for XP).

      Starting the install from DOS is also a good way to get around the Windows installer's stupid insistence on putting the system files on the first partition it can find that it can write to... whether or not there's enough space for the install to complete with them on there.

    10. Re:Bah - OS Vendor support of long filenames by Anonymous Coward · · Score: 0
      Not sure where the Linux crown compares, but OS X is getting better with each revision. Classic Mac OS had this one down (mostly) cold.


      Yeah, I clearly remember things like folders with "The VolumeSettings Folder" or something like that back in OS 7 and OS 8, and it makes me happy that OS 10, with its tons of libraries and files, hasn't gone the way of windows OR UNIX itself (cryptic 3 letter names like X11 and such, though it has saved the root hierarchy for Unix compatibility reasons.)

      As an avid Extensions updater in college, I noticed how just RUNNING Microsoft office prompted a lot of files named "msCrap2.dll", adding Realplayer gave you "StUp1d.lib" and such. The .LIB file ending back then made no sense on the mac because OS X was years away from birth, and yet it pained my soul that Realplayer, Office and Windows Media Player. Face it, if you wanted to know what lay in those pr0n AVI's on the college network, you had to install WIMP 6 or 7. Messenger for Mac too used the damn frameworks, and it meant having to keep track of a whole folder in the extensions folder, INSTEAD of A SINGLE extension as customary. Those guys boldy fucked with interface and filesystem rules. I haven't had a chance to check deeply, but long gone are the days of a single File as Application, even for native mac programs.

      I remember games packed as Fat binaries where you could not possibly miss the game file out of a game and a default looking Readme file. Go into Windows and Linux, and you have to INSTALL, CONFIGURE, READ a readme, and then click on the arbitrarily named file, which is sometimes a damn BAT file or a SH script. Where is progress?

      Sorry, had to rant. I miss MacOS releases before classic, though. It was the best of its kind filename wise. Period. And your question is valid, since Windows and programmers have had the ability of long filenames for 11 years. I still notice that they are shy of picking four letter extensions, when there has been no limit for a decade. They still go for cryptic .xyz instead of .postcard... go figure. I know legacy C programming library ugliness has a lot to do with filename creation mentalities in programmers. And yet, everyone says Java's long names are crap. So why is Java so successful?

      And to answer your question based on my namy locate queries on cygwin and linux, results tend to fit 80 column lines, which is good (folders are seldom more than 3 to 5 characters and filenames tend to go in lowercase.) type locate man1 or locate man and see for yourself
  17. What about standards? by 3gm · · Score: 4, Interesting

    Why not simply follow the POSIX standard*? You can avoid a lot of hassles that way. Isn't that why we have standards?? I know, it doesn't resolve the conflict with Windows case "insensitivity", but ... it does provide interoperability between POSIX-compliant OSes. * upper/lower case alphabetic characters, numeric digits, underscore, dash, and period.

    1. Re:What about standards? by Chapter80 · · Score: 1

      The beautiful thing about standards is that we have so many to choose from.

    2. Re:What about standards? by cpmte · · Score: 1

      Although the POSIX "portable filename character set" (3.276) only includes alphanumerics, period, underscore, and hyphen, the POSIX definition of "filename" (3.169) includes "the set of all character values excluding the slash character and the null byte. The filenames dot and dot-dot have special meaning."

    3. Re:What about standards? by wile_e8 · · Score: 1

      The problem is that you are assuming Microsoft has any interest in actually making Windows interoperable with any other operating system...

    4. Re:What about standards? by julesh · · Score: 1

      Because there's a very simple standard you can follow that is compatible with Posix *and* Windows. Which is what the article's about. There's a small set of characters you'll have to avoid, and you'll have to avoid creating files with names that differ only in case, but this isn't exactly a hardship.

  18. Article is incorrect by joshv · · Score: 5, Insightful

    From the wikipedia entry on NTFS:

    "Though the file system supports paths up to ca. 32,000 Unicode characters with each path component (directory or filename) up to 255 characters long, certain names are unusable, since NTFS stores its metadata in regular (albeit hidden and for the most part inaccessible) files; accordingly, user files cannot use these names."

    The article incorrectly states "Windows file names can be up to 255 characters, but that includes the full path. A lot characters are wasted if the default storage location is used: "C:\Documents and Settings\USER\My Documents\"." I will grant that this may have been a limitation in the past, but XP has had NTFS from the start, and NTFS is by far the most common windows FS today.

    1. Re:Article is incorrect by nstlgc · · Score: 1

      No idea how they did it, but XP _will_ complain if the complete path+filename exceeds 255 characters. It's the reason I stopped using My Documents alltogether.

      --
      I'm Rocco. I'm the +5 Funny man.
    2. Re:Article is incorrect by Dwedit · · Score: 1

      VFAT supports unicode filenames up to 255 characters long, in ANY directory. If there is a limitation, it's at the OS, not the filesystem.

    3. Re:Article is incorrect by toleraen · · Score: 1

      Perhaps I'm not interpreting what you're stating correctly, but tfa does have it correct. The only place you can put a file with a 255 character filename is at the root of the drive. Trying to put that file in a folder results in a "filename is invalid or is too long" error.

    4. Re:Article is incorrect by nine-times · · Score: 1

      I've never counted them up, but I know for a fact that on Windows XP and 2003, there is a limit to the characters in path+filename, and it's small enough that I've hit it a few times. Worse yet, that limit seems to be smaller in some applications (Microsoft Office 2003 comes to mind), meaning they won't read files that the OS will write.

    5. Re:Article is incorrect by Anonymous Coward · · Score: 0

      I don't want to defend MS' "design" decision here, but since many programs use "My Documents" as a default starting point, you could've just moved the directory elsewhere (in My Documents -> Properties).

    6. Re:Article is incorrect by Anonymous Coward · · Score: 0

      There is difference between 'how long filenames are supported by NTFS' and 'how long filenames are supported by WIN32API'. The latter defines PATH_MAX to 255, and because this constant is compiled into applications that use it to allocate buffers for their file manipulation needs, it is unlikely to change in the near future.

      So yes, the article is correct -- Windows file names can be up to 255 characters.

    7. Re:Article is incorrect by Captain_Chaos · · Score: 1

      From the wikipedia entry on NTFS:

      <snip>

      The article incorrectly states...

      So did you fix it?

    8. Re:Article is incorrect by bmajik · · Score: 5, Informative

      The actual maximum length depends on your definition of "maximum", unfortuneately.

      PATH_MAX is supposed to be defined as the length of any single path segment. NT "the OS", and NTFS "the filesystem", support completely qualified path concatenations that are like 32k or so long.

      You can, using CMD.EXE, create a directory 250ish chars long. Then you can go into that directory, and create child dirs with a similar length, and so on, for quite a while.

      Now, what happens when you try and access that file you made?

      It depends entirely on the appplication.

      In XP and earlier, explorer.exe got pretty confused around 4096 chars. When you were viewing a DFS redirected share, explorer got confused even earlier.

      in CLR 1.0, if you have relative directory traversal, you can access paths which are longer than 255 chars, but any of the "open by path" routines cap it at 255 chars (including filename!). I filed a bug on this that the CLR guys said "won't fix - we just do what Win32 does". (gosh guys, i thought .NET was going to free us all from Win32. Guess not.)

      So, the NT native APIs support enormous paths, NTFS supports them, but depending on which libraries your application uses, you probably can't do much better than 250 chars total - path _and_ filename.

      Alot of what makes Microsoft "good" is its commitment to backwards compatibility. And a lot of what makes Microsoft so lousy is it's commitment to backwards compatability :/

      --
      My opinions are my own, and do not necessarily represent those of my employer.
    9. Re:Article is incorrect by joshv · · Score: 1

      I was referring to the comparative article on file systems as being incorrect. I have no means of correcting it.

      It appears that though the wikipedia entry is technically correct about NTFS, the Win32 APIs used by most applications don't support file names (file + path) longer than 255 characters. I verified this in XP by trying to create nested directories with long names in Explorer. Eventually you get a 'path is too long' error at 255 characters.

    10. Re:Article is incorrect by J0nne · · Score: 1

      That would be stupid.

      Unless you plan on not having any applications installed, you'll find that you'll end up with 2 'my documents' folders, which will confuse the hell out of any user. Some programs don't follow that setting and use the hardcoded path.

    11. Re:Article is incorrect by Keeper · · Score: 1

      in CLR 1.0, if you have relative directory traversal, you can access paths which are longer than 255 chars, but any of the "open by path" routines cap it at 255 chars (including filename!). I filed a bug on this that the CLR guys said "won't fix - we just do what Win32 does". (gosh guys, i thought .NET was going to free us all from Win32. Guess not.)


      Then the CLR guys were being retarded. All they need to do is call the unicode file api and prepend \\?\ to the path to indicate they're passing in > 256 chars. This also turns on strict parsing of the filename/path, meaning you can't get away with "c:\foo\bar\\\\mycrappyfile.txt" and other garbage that has to be supported for legacy reasons.

  19. Re:help!!! by rtyall · · Score: 0, Offtopic

    You can use Media Portal if you're on XP, or Knoppmyth if you want a completely different OS.

  20. Re:Tagging by El+Tonerino · · Score: 2, Interesting
    --
    El Tonerino
  21. C:\P[tab]\M[tab]\P[tab] by The+MAZZTer · · Score: 1

    Using autocomplete is even faster, and (I find it) more convenient.

    From Run you just select the folder/file name from the list after typing a few letters, from cmd.exe you just hit tab after typing a few letters.

    1. Re:C:\P[tab]\M[tab]\P[tab] by matth · · Score: 1

      Yeah, that works great until you have
      c:\winnt\system32\drivers\dns
      or some such directory (drivers) that has both dns.exe and a directory dns
      UGH. I typed drivers\dns NOT drivers\dns.exe !

    2. Re:C:\P[tab]\M[tab]\P[tab] by creepynut · · Score: 1

      If you hit TAB again, it will cycle through possible completions.

    3. Re:C:\P[tab]\M[tab]\P[tab] by Anonymous Coward · · Score: 0

      Can we turn this into a rant about auto-completion? I've never seen anyone go off on T9WORD. That would make my day, seriously.

  22. Amiga by Dan+East · · Score: 2, Insightful

    Amiga has had long filename support since it was first released in 1985.

    Dan East

    --
    Better known as 318230.
    1. Re:Amiga by aliquis · · Score: 1

      "Long" was 32 chars thought ;)

      But anyway, we also had kingcon!

      Amiga rules, Windows, MacOS, Linux, *BSD, Solaris, HPUX, SCO-UNIX, Syllable, SkyOS, insert-name-of-your-really-cool-alternative-os-her e suck!

    2. Re:Amiga by Anonymous Coward · · Score: 0

      So did the Commodore 64!

  23. News by spykemail · · Score: 1, Flamebait

    news - plural noun - information about recent events or happenings.

  24. It_s not as if by Anonymous Coward · · Score: 1, Funny

    Using only 8.3 filena~1 restri~1 is not that big a deal. Even if we had to write ordina~1 english that way_ it would still be compre~1.

    In honor of DOS_ or maybe CP_M_ we should have an 8.3 day. All posts must be MS-DOS 8.3 filena~1 compli~1. Maybe someon~1 could write a filter for slashc~1_

  25. Several things missing by WindBourne · · Score: 1

    It shows that you do a rm with a wildcard. If you are having issues, be sure to run it with ls first, and then change it to rm only after checking that it is what you want.

    Also what was not mentioned in the article was the difference of a pathname vs. a filename. Yes, Windows does 255 as a filename. But the more limiting item is the max_path is 255, while in typical unix it is 1024. Basically, *nix is much longer and able to go much deeper in the path.

    --
    I prefer the "u" in honour as it seems to be missing these days.
    1. Re:Several things missing by kernelfoobar · · Score: 2, Funny

      *nix is much longer and able to go much deeper in the path.

      I know there's a joke in there somewhere...

      --
      Here we go again!
    2. Re:Several things missing by glesga_kiss · · Score: 1
      It shows that you do a rm with a wildcard.

      Does it show the resulting damage? ;-) rm and wildcards don't mix all that well. Personally I just use command completion and character-escaping to get rid of those pesky files.

      but the more limiting item is the max_path is 255, while in typical unix it is 1024.

      Windows also has a much shorter maximum command line length. A killer if you are running a java app with a huge auto-generated classpath; I had to write a custom classloader to get around this on windows. No big deal, but annoying with fours hours wasted.

  26. Best 8.3 filename mockery by thatguywhoiam · · Score: 5, Funny
    The ad that Apple ran, back when Windows 95 launched:

    C:ONGRTLNS.W95

    --
    If Jesus wants me it knows where to find me.
  27. Re:Who gives a shit that linux supports long names by vadim_t · · Score: 1

    Right, and c:\winnt\system32\comctl32.ocx makes it crystal clear what it's for, right?

    Things like 'man' (for manual) were inherited from the days of glacially slow terminals, when you could actually type faster than things would appear on screen.

    It's not that bad these days either, saves a lot of typing, especially nice when using slow SSH sessions.

  28. Re:Tagging by pla · · Score: 2, Informative

    File names aside, is there a good way to "tag" files (generic metadata) on Windows or Linux?

    On NTFS, you can use ADS (Alternate Data Streams) to store metadata about a file, though I don't know of any software that can read such data in a consistant manner - Not to mention, just about every malware scanner out there will flag such files as suspicious.

    On Linux, it very much depends on the FS you choose, though again, support for file metadata remains about as standardized as snowflakes.

  29. Net Ho by ArcherB · · Score: 1

    I was doing tech support for Win95 way back when it came out, I think it was in 1995 (duh), I had a customer who wanted larger fonts on the desktop. I explained how to change the size of the fonts for desktop icons. As soon as we did, "Network Neighborhood" turned into "Network Neighborho...". Of course, the guys on the phone got a kick out of that and it was knows as "Net Ho" for at least a week after that.

    Just thought I'd share.

    --
    There is no "I disagree" mod for a reason. Flamebait, Troll, and Overrated are not substitutes.
  30. Where's the !? by Rurik · · Score: 2, Informative

    They have a whole block on "Avoid using these characaters for maximum portability".

    But, where's the exclamation mark? TONS of Windows people (including me) use exclamation points as the first character to put files/directories to the top of the list. Linux constantly chokes on these characters. But, no mention of it at all in this article.

    1. Re:Where's the !? by vadim_t · · Score: 2, Informative
      You just escape it with a \, like this:
      vadim@gadget ~/tmp $ touch \!hi
      vadim@gadget ~/tmp $ ls
      !hi
      vadim@gadget ~/tmp $ rm \!hi
    2. Re:Where's the !? by mrsbrisby · · Score: 2, Informative

      But, where's the exclamation mark? TONS of Windows people (including me) use exclamation points as the first character to put files/directories to the top of the list. Linux constantly chokes on these characters. But, no mention of it at all in this article.

      No it doesn't. Linux (like most UNIXes) have no problem with exclamation marks. In fact, the only characters specifically disallowed are NUL (for C compatability) and /

      Your shell however, assigns a special meaning to the "!" character, and that special meaning can be removed by prefacing it with a backslash, i.e. "!" -> "\!" -- Linux and the filesystem and all the relevant system calls still use the "!" character itself in the name of the file.

    3. Re:Where's the !? by csubi · · Score: 1

      try if using console...
      Alternatively, under X:
          mouse right-click --> create file and name it , then try editing/saving.
        It worked for me...

      Regards,

    4. Re:Where's the !? by sydb · · Score: 1

      The article also erroneously claims that Linux doesn't support a / in filenames. At least in EXT2/3, you can quote the / just as you can escape a !, with a \ or by "putting quotation/speech marks around the whole name!"

      Basically a stupid article which does more to confuse people than to educate.

      --
      Yours Sincerely, Michael.
    5. Re:Where's the !? by b1t+r0t · · Score: 1

      That's not Linux's problem, that's bash's problem. It wants to use the ! to represent something obscure that the few times I've looked it up, it was a "why the hell would I need that" kind of thing? It also has problems with other characters like square brackets. But at least it does the right thing when it comes to tab completion.

      What annoys the hell out of me, though, is scp. You have to double-escape stuff because it apparently uses the cp utility on the remote machine as an unescaped shell command, rather than setting up the argument vector and starting cp directly. So whenever there is (say) a blank in a file or directory name, I have to backslash the blank and put double quotes around all or part of the file name. I use OS X, but I've taken to naming some directories in a unixy-style with nothing but lower-case letters and hyphens.

      --

      --
      "Open source is good." - Steve Jobs
      "Open source is evil." - Microsoft
    6. Re:Where's the !? by spitzak · · Score: 1

      This guy is complaining about the history-substitution in the Unix shells. This problem also exists on Windows if you use tcsh or something.

      It is annoying sometimes. Backslash works a lot but I think it is inconsistent. Also I have never used ! except at the start of the line, command-line editing makes all other uses pretty obsolete, so removing this from a shell would probably be useful.

      The windows users I know use '@' for the same purpose, oddly enough.

    7. Re:Where's the !? by Anonymous Coward · · Score: 0

      The best solution is to get rid of bash (it's slow and buggy anyway - check the man page) and use a sensible shell, like ksh.

    8. Re:Where's the !? by SanityInAnarchy · · Score: 1
      grunt ~ # cd /boot/
      grunt boot # touch a/b
      touch: cannot touch `a/b': No such file or directory
      grunt boot # touch 'a/b'
      touch: cannot touch `a/b': No such file or directory
      grunt boot # touch "a/b"
      touch: cannot touch `a/b': No such file or directory
      grunt boot # touch a\/b
      touch: cannot touch `a/b': No such file or directory
      grunt boot # touch "a\/b"
      touch: cannot touch `a\\/b': No such file or directory
      grunt boot # touch 'a\/b'
      touch: cannot touch `a\\/b': No such file or directory
      grunt boot # mount | grep boot
      /dev/sda1 on /boot type ext3 (rw,noatime)
      grunt boot # cat /proc/version
      Linux version 2.6.13.4 (root@grunt) (gcc version 3.4.4 (Gentoo 3.4.4-r1, ssp-3.4.4-1.0, pie-8.7.8)) #1 Wed Nov 2 21:19:24 CST 2005
      grunt boot #

      Yes, it's a bit of an old kernel, but maybe you're thinking of a '\', and not a '/'? No matter how you quote it, / is the directory separator, and filesystems themselves do not support escapes -- on Linux anyway. For some retarded reason, Windows filesystems do the escaping in the filesystem driver...

      --
      Don't thank God, thank a doctor!
    9. Re:Where's the !? by spitzak · · Score: 1

      This is wrong. The quoting is removed long before the filename is passed to the system.

      I think you may be confusing it with backslash, which you can put in by doubling it (that will quote it, the quoting is stripped by the shell leaving a single backslash, and that is passed to the system, which treats it like any other character and puts it in the filename). However even with this, backslash is not recommended, since in many cases it will be passed through quoting-stripping more than once, such as when one script calls another and they are not correctly written.

    10. Re:Where's the !? by k8to · · Score: 1

      No unix ever has or ever will support the use of the forward slash '/' character in filenames.

      The slash character represents a directory separation in strings which are known as paths. Programs are fully expected and _must_ interpret these strings themselves in userspace in order to resolve them as a chain of directory names and a filename. Because it is required that programs interpret these strings, the slash character must represent a separation, and therefore may not be used inside a filename. This is a fundamental part of the UNIX api, and allowing slashes in filenames would require rewriting the way that programs refer to and describe paths, invalidating the majority of existing unix software.

      There are no escape characters used in paths as encountered by programs, and a good thing too because that would just make it more complicated and introduce bugs.

      --
      -josh
    11. Re:Where's the !? by Schraegstrichpunkt · · Score: 1
      What annoys the hell out of me, though, is scp. You have to double-escape stuff because it apparently uses the cp utility on the remote machine as an unescaped shell command, rather than setting up the argument vector and starting cp directly.

      I usually use rsync over SSH, which tends to be a little saner. But yeah, scp is seriously brain-damaged.

    12. Re:Where's the !? by sydb · · Score: 1

      My god you're right, what was I thinking?

      --
      Yours Sincerely, Michael.
    13. Re:Where's the !? by sydb · · Score: 1

      I have returned my crack pipe to it's pouch. Thanks.

      --
      Yours Sincerely, Michael.
    14. Re:Where's the !? by sydb · · Score: 1

      I've wasted my time and yours. I apologise.

      --
      Yours Sincerely, Michael.
  31. Re:Any way to turn off Joliet support in Windows X by GotenXiao · · Score: 3, Insightful

    Well, if MS hadn't decided to use \ as a directory separator, you could just backslash it. But no. MS had to be retarded.

    --
    Goten Xiao
  32. Re:Who gives a shit that linux supports long names by Anonymous Coward · · Score: 0

    That's not entirely incorrect; on windows, badly behaved programs go in "Program Files" because the system directory is called "Programme" here. Some installers ignore the system settings, causing great confusion^Wfun. And some installers simply assume C: is my primary harddisk when it's really F:.

  33. Re:Who gives a shit that linux supports long names by mrchaotica · · Score: 2, Informative
    On windows, well behaved programs go in the aptly named "Program Files"

    No, they go in "C:\Program Files" and the Registry and one or more users' "C:\Documents and Settings\%USERNAME%\Application Data" folder.

    on OSX they go in "Applications"

    No, they go in "/Applications" and "/Library" and one or more users' "~/Library". Also, by the way, OS X does have /bin and /usr/bin and all the other UNIX standard folders; they're just hidden from the finder.

    on linux they go in /usr/bin or is it /bin or is it /local/bin or /wtf

    No, on Linux they go in "/usr/local/bin" and "/usr/local/etc" and one or more users' "~" only, because "/bin" and "/usr/bin" are reserved for bits of the OS itself (equivalent to "C:\Windows" and "/System").

    --

    "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

  34. Flexibility of *NIX by heffrey · · Score: 0

    The best thing about *NIX file names is that it allows you to use really useful names like *. I was present once as a colleague execute rm * to get rid of this pesky file he'd created by accident. Oh boy was he not happy with the result.

    It's just as well he didn't have a file called -rf and try to get rid of them both in the same command!

    1. Re:Flexibility of *NIX by sedman · · Score: 1

      I had a user come to me after trying to remove a file named -r resulted in losing all of his files. The sad thing was that he was smart enough to really get himself into trouble.

      Knowing that rm will not remove directories without being explicitly asked to, he moved all his files into a saved_files directory so that he as something like

      -r dir1 dir2 saved_files

      he then issued rm * and expected it to delete all the files (not directories) which in the case was -r. I think the fact that the only think left in his account being the -r file was pretty much seem as adding insult to injury.

    2. Re:Flexibility of *NIX by teslar · · Score: 1

      The solution to that is, of course, rm -- * with -- generally being a good idea if you have filenames with a leading - in your directory as it tells any command that whatever follows should not be seen as a command option. But that's the kind of thing you only ever find out about afterwards ;)

    3. Re:Flexibility of *NIX by jonhaug · · Score: 1

      Another way to delete a '-r' file is of course: rm ./-r - Jon

  35. Press TAB again by ggeens · · Score: 4, Informative

    cmd.exe's completion is a bit strange if you're used to bash, but once you get to know it, you can get around quite well.

    Example:

    • cd c:\pr TAB -> cd "c:\Program Files"
    • Another TAB -> cd c:\projects
    • "\foo" + TAB -> cd "c:\projects\foo bar"
    • "\s" + TAB -> cd "c:\projects\foo bar\src"

    Before Windows XP, you had to activate the tab character by changing a registry key. XP has this set by default.

    --
    WWTTD?
    1. Re:Press TAB again by chad.koehler · · Score: 1

      I never knew that, thanks for the tip.

    2. Re:Press TAB again by glesga_kiss · · Score: 2, Informative
      Before Windows XP, you had to activate the tab character by changing a registry key.

      Forget hacking the Registry, TweakUI can do this. It's an essential tool for Windows that would cause too much damage by lusers so they don't ship it out-the-box. Lot's of useful hacks.

    3. Re:Press TAB again by Goo.cc · · Score: 1

      Thank you for your post. I was going crazy on XP trying to figure out when cmd.exe was doing.

    4. Re:Press TAB again by DrXym · · Score: 1

      Tabbing in cmd.exe is probably one of the few things which is IMHO better than it is bash. Namely that you can cycle through different choices by hitting tab rather than (partially) completing as bash does. Perhaps there is an option somewhere for this, but it's about the only thing I like about cmd.exe.

    5. Re:Press TAB again by havenskate · · Score: 1

      Way back in the day when I used 4DOS it was the prefered command interpreter for my friends and I rather than command.com... :) This had tons of features including the TAB feature. http://www.4dos.info/h4dos.htm has the old docs from JPSoft's website. I haven't used it, but here's the 4NT program info link for reference too - http://www.jpsoft.com/4ntdes.htm I forget when I stopped using 4DOS, but it was a cool program to use while it lasted. It's been a long time -- when I used to bother modifying the dos prompt with colors too cuz I was so 1337. :P

    6. Re:Press TAB again by petermgreen · · Score: 1

      the problem with the cmd approach is if you type too little to get down to a small number of options (small enough to reaconablly tab though) you have to back up manually using backspace before you can try again.

      with the bash way if you know the filename you just type a bit tab and then if nessacery type some more (often you seem to end up with lots of files with a common prefix so you type the first letter of the prefix then tab then the first letter or two of the distinguishing part of the name).

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    7. Re:Press TAB again by Barny · · Score: 1

      You do know that tweakUI was just a registry hack tool made by microsoft right?

      --
      ...
      /me sighs
    8. Re:Press TAB again by glesga_kiss · · Score: 1
      You do know that tweakUI was just a registry hack tool made by microsoft right?

      Of course. But it makes it 100x easier, quicker and less likely to screw up your machine. Registry hacks are all well and good, but having many of them listed together (including ones you wouldn't have thought of) makes it worth the five second install.

    9. Re:Press TAB again by Al+Dimond · · Score: 1

      Vim also does tab completion this way. It annoys me to no end, because if you tab too early you have to either delete or go through all the choices to find what you want; also, bash's method lets you see the list of all the matching files, which sometimes is overwhealmingly long. Well, mostly the reason it annoys me is that I'm used to bash; for most directories it's all a matter of preference. To make vim act like bash, btw, you can put "set wildmode=longest,list" in your vimrc. I don't know of a way to make cmd.exe work like bash.

    10. Re:Press TAB again by ggeens · · Score: 1

      One thing I miss in CMD is the command completion. In bash, you can type the start of a command and get a completion. In cmd.exe, this only works if the program or batch file is in the current directory.

      --
      WWTTD?
  36. Reserved DOS file names by Anonymous Coward · · Score: 0

    There are several file names that are reserved in DOS\Windows

    nul
    prn
    com1 (etc...)

    Note that you can't use the above with or without an extension, i.e. nul.txt won't work.

  37. Windows... everybody knows. by ThePhilips · · Score: 2, Interesting

    Windows here suck the most. NTFS is good, but all the backward compatibility cruft just drags the FS down.

    Once under Windows, I have spent about half an hour with Explorer refusing to copy one one. Explorer was insisting that "File No Found". Text file was there and perfectly editable by notepad. I needed about 30 minutes to observe that Explorer was giving error on only on file of whole directory and that file have had the longest name. ZOMG!!! They still have cap 255 bytes on path(!) length!!!

    Welcome to 3rd millenum, Microsoft! Where do you want to go today?!?

    End-Of-Sarcasm.

    Realistically, I never had a single problem with Mac or Linux when handling file names. But when you get to Windows, you start getting the annoying messages from explorer "invalid character" with attached long list of characters they do not allow to use. All the time. And I'm not talking about bunch of non-Unicode applications (for example Adobe Acrobat Reader) which cannot open file with name containing international characters. Could it be any dumber?

    --
    All hope abandon ye who enter here.
    1. Re:Windows... everybody knows. by zoohoo · · Score: 0

      I can't delete a folder on my HD (WIN). Created to copy a CD full of pictures (and directories). Windows put it there. The directory tree must go so far that when I try to get rid of it, Windows goes

      Cannot delete directory: the folder is not empty

      for every thing in or below that directory. Even more, eventually it asks me to format the folder.

      Windows is so stupid.

    2. Re:Windows... everybody knows. by belg4mit · · Score: 1

      win32 ports of rm, or perl -Ue unlink will often allow to to do these things.

      --
      Were that I say, pancakes?
    3. Re:Windows... everybody knows. by Schraegstrichpunkt · · Score: 1
      NTFS is good,

      How would you know? It's not like Microsoft has released the specification for it...

      [Insert rant about proprietary data formats here]

    4. Re:Windows... everybody knows. by Ash-Fox · · Score: 1
      How would you know? It's not like Microsoft has released the specification for it...
      You can find the relevent information here.
      --
      Change is certain; progress is not obligatory.
  38. Perl... by Savage-Rabbit · · Score: 1

    Tada! Two sentances. I imagine, were I a perl coder, I could have done it in half of one, but there you go.

    True enough but the drawback of using Perl style syntactic obfuscation to compact this /. story is that people would have to stare at the resulting half a sentence for a lengthy period of time before they managed to figure out what the hell you are trying to say.

    --
    Only to idiots, are orders laws.
    -- Henning von Tresckow
    1. Re:Perl... by kevlarman · · Score: 1

      How is this different from a regular slashdot summary?

      --
      A mouse is a device used to point to the xterm you want to type in
    2. Re:Perl... by Savage-Rabbit · · Score: 1

      How is this different from a regular slashdot summary?

      It would have that critical extra layer of obfuscation added on top of the already existing chaos.....

      --
      Only to idiots, are orders laws.
      -- Henning von Tresckow
    3. Re:Perl... by Anonymous Coward · · Score: 0

      Once deciphered, the Perl would actually make sense.

  39. Re:Who gives a shit that linux supports long names by vadim_t · · Score: 1

    No, on Linux they go in "/usr/local/bin" and "/usr/local/etc" and one or more users' "~" only, because "/bin" and "/usr/bin" are reserved for bits of the OS itself (equivalent to "C:\Windows" and "/System").


    Not fully correct. /usr/local/bin is for things installed manually. For example, if you download the Perl sources, compile, and 'make install', it'll go into /usr/local/bin by default. If you install the package, it'll go into /usr/bin.

    This way you avoid breaking the package manager, which has exclusive domain in /usr/bin, and if you screw up, just nuke /usr/local/bin (which should be earlier in $PATH), and you're back to using your system version of Perl. /bin and /lib are for system startup files. Stuff that's required to boot. /usr is for applications to be used after booting.
  40. Re:Who gives a shit that linux supports long names by Clockwurk · · Score: 1

    If I had to hazard a guess, I would say that it is common controls library for a 32-bit system or maybe computer control library (less likely) for 32-bit windows.

  41. Re:Who gives a shit that linux supports long names by vadim_t · · Score: 1

    Sure, that's a pretty well known library. Try a few more: cewmdm.dll, bopomofo.uce, 8532.ax

    At least /lib has just libraries, system32 is full of the weirdest stuff.

  42. Thanks for posting this by houghi · · Score: 1

    Hopefully there are some developers out there that will actually USE long filenames or at least names that are clear on what the file or program does.

    --
    Don't fight for your country, if your country does not fight for you.
  43. Longer paths in windows by Anonymous Coward · · Score: 0

    I seem to remember that you can use even longer paths in windows if you begin them with \?\ or something similar.

  44. fanboy sez... by Foerstner · · Score: 1

    Amiga has had long filename support since it was first released in 1985.

    The Amiga OFS had support for 30-character filenames in 1985.
    The Macintosh MFS and Finder had support for 31-character filenames in 1984.*

    A year late and a character short.

    (* MFS actually supported 255-char filenames, but Finder 1.0 only allowed 63, and later 31 (!) characters.)

    --
    The US free market: two halves of a government-granted duopoly are free to set the market price.
    1. Re:fanboy sez... by Schraegstrichpunkt · · Score: 1
      A year late and a character short.

      That character was stripped to make room for the kilobytes of extra data that you could fit on an Amiga floppy. :-P

    2. Re:fanboy sez... by mdwh2 · · Score: 1

      A year late and a character short.

      We already know that, it was covered in the article. But by this logic, Linux was 7 years late, and doesn't deserve a mention either.

  45. rsync by gatzke · · Score: 3, Insightful


    I just hit the file name issue trying to sync some stuff between unix / Windows XP using rsync.

    The case insensitivity was annoying and the limited char set on XP was no good.

    Again, you would think they would have fixed this on XP.

    1. Re:rsync by crabpeople · · Score: 1

      Man case sensetivity is probably the most annoying thing about linux files. What are you getting having case sensetive files? What benefit could that possibly have. Why should TPSreports.txt be different than tpsreports.txt . A file name is for you, and the first filename is alot easier to read than having them all lower case. So because its more visually apealing to a human the linux machine croaks as it cant wrap its head around the fact that wow its the same file.

      If i search for TPSreports.txt will tpsreports.txt evern come up? People have a hard enough time remembering what they named something and you would ad another level of complexity above that? I always thought this was a very big linux flaw.

      --
      I'll just use my special getting high powers one more time...
    2. Re:rsync by Schraegstrichpunkt · · Score: 1
      If i search for TPSreports.txt will tpsreports.txt evern come up? People have a hard enough time remembering what they named something and you would ad another level of complexity above that? I always thought this was a very big linux flaw.

      locate -i TPSreports.txt

      or

      find / -iname TPSreports.txt

      Trying to write non-buggy, consistently-behaving programs with a case-insensitive filesystem is harder than you think. Case sensitivity in the filesystem is one of Linux's strengths, and is one of the easiest things to get used to.

    3. Re:rsync by julesh · · Score: 1

      Trying to write non-buggy, consistently-behaving programs with a case-insensitive filesystem is harder than you think.

      While I do struggle to write non-buggy. consistently-behaving programs under Windows, I find the problem is very rarely with the filesystem naming conventions.

      If you *really* need case sensitive filenames for your application, you can use FILE_FLAG_POSIX_SEMANTICS.

  46. Re:Who gives a shit that linux supports long names by mrchaotica · · Score: 1

    Yes, that's what I said: pieces of the OS (which includes everything installed by the package manager) go in either /bin or /usr/bin; programs that are not part of the OS (which includes everything installed manually) go in /usr/local/bin.

    --

    "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

  47. Netware File servers by ChaseTec · · Score: 1

    Don't forget Netware 3.12 where Win 9x clients only get long file name support if you loaded the OS/2 namespace module. Can't forget that.

    --
    My Hello World is 512 bytes. But it's also a valid Fat12 boot sector, Fat12 file reader, and Pmode routine.
  48. Re:Any way to turn off Joliet support in Windows X by nogginthenog · · Score: 1

    I've got an Amiga CD with a file named 'CON'. Windows doesn't like that either.

  49. VFAT was introduced in 1995... by earthbound+kid · · Score: 1

    ...yet MS continues to name programs idiotic and needlessly cryptic things like iexplore.exe, charmap.exe, etc., etc. It's really sad that 11 years later, Microsoft still isn't confident enough to name its Windows XP+ only applications using more than 8.3 characters.

    1. Re:VFAT was introduced in 1995... by LeRandy · · Score: 1

      yes. ls, mv, rm and ps agree with you. cd is just hanging on for the ride.

      The big problem with Windows is that it doesn't support Aliases and Symbolic Links properly. You can't rename a DLL or standard executable without breaking older apps. Of course, if you could make symbolic links between the old names and the new, that wouldn't be a problem.... ...but "why do we need symbolic links when we have shortcuts?" (bangs head)

    2. Re:VFAT was introduced in 1995... by heson · · Score: 1

      Its probably becuase thier most valued corporate customers still use old dos hacks and other stone age technologies in their computer set up & cloning scripts.

    3. Re:VFAT was introduced in 1995... by Reziac · · Score: 1

      I think it has more to do with OS install process, since they've been naming their other programs with LFNs since way back. Even with XP, the Windows installer essentially just does a big filecopy and expand operation -- IOW, the installer appears to be largely a DOS operation. So one would expect it to use 8.3 filenames, up until the point where it reboots into the DOS-less OS and LFNs become available.

      --
      ~REZ~ #43301. Who'd fake being me anyway?
    4. Re:VFAT was introduced in 1995... by Schraegstrichpunkt · · Score: 1

      I think that was true until Windows ME. WinNT/2K/XP/2K3 all use an NT-based installer, as far as I'm aware.

    5. Re:VFAT was introduced in 1995... by Reziac · · Score: 1

      But if you look at the NT installer's files, they're still just WHATEVER.EX_ files awaiting EXPANDing. So I suspect that it's still running in DOS up to the point where it first reboots... and that would explain the all-caps 8.3 names.

      --
      ~REZ~ #43301. Who'd fake being me anyway?
    6. Re:VFAT was introduced in 1995... by Schraegstrichpunkt · · Score: 1

      And I'm telling you that they don't. When we used to install our NT4 servers, we had to press F6 at a certain point in the install process to load the NT RAID drivers from a floppy. How could you load NT drivers if it was DOS that was running?

      My guess is that Microsoft uses 8.3 filenames for the same reason that many people avoid spaces in directory and file names on Unix: to avoid triggering bugs in poorly-written programs.

    7. Re:VFAT was introduced in 1995... by Reziac · · Score: 1

      "How could you load NT drivers if it was DOS that was running?"

      I don't truly know, but I suspect RAID drivers must behave more like SCSI drivers than what we normally think of as a "Windows driver" -- that is, a much more direct hardware interaction than is used with NT's HAL. Think about it -- the RAID and SCSI HD drivers would have to load *before* Windows-proper, otherwise how is Windows going to *see* the HD to load the rest of itself? (Doesn't the prompt actually say "RAID or SCSI"?? I don't normally have to use it, so don't have it memorized. :)

      As to the issue of working around other buggy programs, that may happen too (tho more likely a matter of M$'s choice of package prep), but 99% of Windows is never spoken to by other apps *by filename*.

      (Side note: I'm highly suspicious the "M$DOS.SYS must be greater than 1024 bytes" thing is needed only by one of the M$ bootup critters, not by anything else. :)

      BTW at that "F6 to load RAID driver" prompt, you can load any driver or even a program that lies and merely claims to be a driver; frex, NT password breakers.

      --
      ~REZ~ #43301. Who'd fake being me anyway?
    8. Re:VFAT was introduced in 1995... by Ash-Fox · · Score: 1
      if you could make symbolic links between the old names and the new, that wouldn't be a problem.
      NTFS supports hardlinks.
      --
      Change is certain; progress is not obligatory.
    9. Re:VFAT was introduced in 1995... by Schraegstrichpunkt · · Score: 1
      I don't truly know, but I suspect RAID drivers must behave more like SCSI drivers than what we normally think of as a "Windows driver" -- that is, a much more direct hardware interaction than is used with NT's HAL.

      I'm not sure what you mean by this -- maybe it's because I'm not familiar with Windows NT driver development -- but aren't all "Windows drivers" the same in that they run in ring 0? Different drivers might use different programming interfaces (much like Linux drivers can all use the PCI interface to access PCI devices), and certain interfaces (like those provided by network or video drivers) might not be available early in the boot process, but I would expect that they would all be running above or at the same level as the NT kernel.

      Think about it -- the RAID and SCSI HD drivers would have to load *before* Windows-proper, otherwise how is Windows going to *see* the HD to load the rest of itself?

      An interesting point, but I imagine it would work in a similar way as Linux does it with its initial ramdisk: the drivers would be loaded into RAM alongside the kernel by the boot loader (which uses the BIOS interface to access the disk).

      Also consider that NT had non-x86 versions, so Microsoft would have had to have solved these problems without resorting to DOS on those architectures. I can't see the advantage of solving the problem in a relatively clean way on those architectures, but using an MSDOS-based hack on x86.

      As to the issue of working around other buggy programs, that may happen too (tho more likely a matter of M$'s choice of package prep), but 99% of Windows is never spoken to by other apps *by filename*.

      Heh. Maybe it's to keep old 16-bit versions of InstallShield from breaking things.

      (Side note: I'm highly suspicious the "M$DOS.SYS must be greater than 1024 bytes" thing is needed only by one of the M$ bootup critters, not by anything else. :)

      Is that an NT thing? I remember seeing that on Win9x, but the IO.SYS, MSDOS.SYS, AUTOEXEC.BAT, and CONFIG.SYS files on a fresh install of W2K are all 0 bytes.

      BTW at that "F6 to load RAID driver" prompt, you can load any driver or even a program that lies and merely claims to be a driver; frex, NT password breakers.

      By your own arguments, wouldn't those programs have to be MSDOS-based, then? I strongly suspect that they are not.

  50. Why name stfuff? by NotInTheBox · · Score: 3, Interesting

    I want documents not files. Sometimes multiple files make up one document (webpage + stylesheet + media), sometimes there are multiple documents in one file (zip).

    When will anyone come up with a persistant storage system which allows me to make random tags to documents and groups of documents. Drop the folders and give me 'search queries' on content and tags. Automatically save all data and don't bother me with giving it a name... When it's important I will give it the proper tags until then just remember it for me.

    Do I have to name the paper before printing?

    --
    What I cannot create, I do not understand
    1. Re:Why name stfuff? by vadim_t · · Score: 1

      And how will the OS find its own stuff, then?

      It won't make things any better for normal users either. So instead of my mother creating "letter1.kwd", "letter2.kwd", etc, I'll have 20 files with a "letter" keyword. Yep, that sure is a great improvement.

    2. Re:Why name stfuff? by plasmacutter · · Score: 1

      It's been done already in osX.4 google "Smart folders"

      --
      VLC FOR MAC IS DYING! IF YOU DEVELOP, PLEASE SAVE IT!!
  51. Re:Any way to turn off Joliet support in Windows X by Millenniumman · · Score: 1

    Why did Microsoft do that? Just to be different? It is harder to type.

    --
    Stupidity is like nuclear power, it can be used for good or evil. And you don't want to get any on you.
  52. Turn off short file names by Mr+44 · · Score: 1

    I usually turn off short file name generation, it just seems like a wasteful thing to do in 2006.

    See http://support.microsoft.com/?kbid=121007

    and other cool options at http://www.microsoft.com/resources/documentation/w indows/xp/all/proddocs/en-us/fsutil_behavior.mspx? mfr=true

  53. Re:Who gives a shit that linux supports long names by 99BottlesOfBeerInMyF · · Score: 1

    No, they go in "/Applications" and "/Library" and one or more users' "~/Library".

    Technically, no. The files that go in the Library directories are not programs, but configuration files (data), so tossing an old program and dropping in a new one can easily maintain the same configuration. (With the possible exception of Widgets and Services which may or may not be classified as "programs" but are really better classified as data used to provide application like features via the dashboard and OS).

  54. Heres one for yeh by DoctorDyna · · Score: 1

    I remember having a fight on a CentOS 4 box because the directories I was trying to copy from one drive to another were too long, and causing the command input buffer to not receive the entire command. What good are super long file names / directories if you have to recompile a kernel in order to sucsessfully copy a directory from one drive to another thats buried a few directories under root?

    --
    Windows has more viruses because linux has more virus coders.
    1. Re:Heres one for yeh by Slashcrap · · Score: 1

      I remember having a fight on a CentOS 4 box because the directories I was trying to copy from one drive to another were too long, and causing the command input buffer to not receive the entire command.

      Are you absolutely sure that it wasn't a case of the directory containing too many files for the command to deal with? That seems much more likely from your description.

      It's easy to solve, but since you think the problem is something different I won't bother telling you how. Hope this helps.

  55. Re:Who gives a shit that linux supports long names by Haeleth · · Score: 1

    Sure, that's a pretty well known library. Try a few more: cewmdm.dll,

    Oh, come on. That one tells you exactly what it is if you just right click on it and select "Properties". It's the Windows CE Windows Media Device Manager Service Provider.

    bopomofo.uce,

    Something to do with the Zhuyin phonetic alphabet used to teach Chinese character pronunciations in Taiwan. The UC in the extension will stand for UniCode. Don't know what the E is.

    8532.ax

    Some kind of ActiveX filter, I think. They're just DLL files with a different extension; right-click, "Properties", read description, and you know what it is.

    More to the point, though, why do you care what this stuff is? Are you seriously going to tell me you do stuff like go through all 3,000-odd system files checking to make sure you know exactly what each is for, and deleting the ones you know you don't want, or something? I mean, go right ahead if it makes you happy, but I have better things to do with my time than worry about what spcmdcon.sys might be. (But it only took me 2 seconds to ascertain that it's the "Windows NT Setup mini command console". Seriously, this ain't rocket science.)

  56. Re:Any way to turn off Joliet support in Windows X by m50d · · Score: 2, Informative

    Dos 1.0 had no directories, and arbitrarily used / for options (remember DIR /P ?). When 2.0 came out, to preserve backwards compatibility they kept / for options, so decided on \ as the directory separator. Modern dos/windows can handle / for directories fine, but they need to still support \ for - you guessed it - backwards compatibility.

    --
    I am trolling
  57. Not Case Insensitivity - MS Case Insensitivity by Anonymous Coward · · Score: 0

    In Windows, its valid to have myfilename.bar and MyFileName.bar in the same folder. However, one will only be shown in its 8.3 format. Which one? What happens if you delete the other one? Why can you have both, when they don't get treated equally?

    By default in OS X, MyFileName.bar and myfilename.bar reference the same file (in the Finder or at the command line). In Linux and other case sensitive unix-like operating systems, MyFileName.bar and myfilename.bar are different files (OS X can handle that as well).

    Windows is the only mainstream OS with a confusing, inconsistent use of case (in)sensitivity.

    1. Re:Not Case Insensitivity - MS Case Insensitivity by amliebsch · · Score: 1

      In Windows, its valid to have myfilename.bar and MyFileName.bar in the same folder.

      It is? It may be valid in NTFS, but unless you are making NTFS API calls, it is AFAIK impossible to create two identically-named (disregarding case) files in Windows. Just as an example:

      echo "Test One" > test.txt
      echo "Test Two" > Test.TXT
      This results in one file (text.txt) containing "Test Two".
      --
      If you don't know where you are going, you will wind up somewhere else.
    2. Re:Not Case Insensitivity - MS Case Insensitivity by Pieroxy · · Score: 1

      In Windows, its valid to have myfilename.bar and MyFileName.bar
      No it is not, and no it has never been. Windows filesystems act very much like OSX's ones but for the 8.3 backward compatibility.

  58. Re:Does someone have a problem or two? by 99BottlesOfBeerInMyF · · Score: 2, Informative

    Is this anything other than an attempt to dis Windows for no other reason than 'Because'?

    I think it is a valid issue. There are some files in a CVS module I simply cannot use on Windows because the filesystem chokes when CVS tries to write them in Windows and the rest of the CVS commit is aborted. It is a huge pain in the ass, even though these files do not contain any capital letters. This happens with ever CVS client on Windows, even Cygwin. MS needs to get off their butts and fix this crap once and for all.

  59. Re:Any way to turn off Joliet support in Windows X by ThinkingInBinary · · Score: 1

    I think they did it because someone had already used / as the option prefix (like in dir /w--the Linux equivalent is -, as in ls -l). So they had to use a different character.

  60. Re:Any way to turn off Joliet support in Windows X by Anonymous Coward · · Score: 1, Insightful

    > If I can turn off Joliet comprehension I'll have access to the files in their original ISO9660 8.3 glory.

    Use IsoBuster. (The program is shareware, but has a free mode with less functions. The free mode is enough to access the 8.3 files)

  61. Article misinformed. by hkb · · Score: 1

    First of all, Windows NT/2000/XP/Vista != MS-DOS/Windows 9x

    NT has had long filename support since its inception and it's never been a hack, which seems to be a pretty damned good track record to me. It's silly that misinformed Microsoft bashers still crack on modern Windows for so many things that don't affect it, but rather were a trait of previous incarnations before NT (Although there's plenty to crack on NT about, as well).

    --
    /* Moderating all non-anonymous trolls up since 2004 */
    1. Re:Article misinformed. by hadleyhope · · Score: 1
      According to this Windows still has a 260 character limit on a file path (including name) http://blogs.msdn.com/brian_dewey/archive/2004/01/ 19/60263.aspx/

      Try double clicking on a file with a longer path in Explorer or opening it in Word...

  62. Upper-cased filenames... by Aquila+Deus · · Score: 0

    The only reason I would avoid them is the god damned CVS uses "CVS" to store information that nobody wants to touch and thus screwes up all other upper-cased normal filenames under the same dir.

    When will they fix it?

    --
    hmmm... dumb...
  63. colon in Mac OS X file names by pikine · · Score: 3, Insightful
    OS X supports up to 255 characters and can use the same characters as Linux, except for a colon (:).

    In Terminal.app, you can create file names with colon, but such character is mapped to a forward slash when seen in Finder. On the other hand, you can use forward slash in Finder, and it is mapped to a colon in the command line.

    Historically, Mac OSes use colon to separate folder names in a path.

    There is a subtle restriction in HFS+. All files in HFS+ have their names in normalized unicode, and in order to normalize in the first place, file names must be in valid UTF-8 encoding. You cannot use random character string for file names.

    There is no such restriction for UFS on Mac OS X. I think UFS supports roughly the same characters as in BSD and Linux and any other Unices. If you're transferring files from Linux with names in a legacy encoding, you can create a UFS disk image and convert file names to UTF-8 before copying them to HFS+.

    --
    I once had a signature.
    1. Re:colon in Mac OS X file names by david.given · · Score: 1

      You cannot use random character string for file names.

      <pedant>

      You cannot use a random byte string. You can use a random character string, provided the string is a valid UTF-8 sequence, of course.

      (This is a good thing.)

      </pedant>

    2. Re:colon in Mac OS X file names by Guy+Harris · · Score: 1
      In Terminal.app

      ...or in a X11-based app (i.e., in anything that uses standard UN*X calls to operate on files and doesn't use Apple file dialogs)...

      you can create file names with colon, but such character is mapped to a forward slash when seen in Finder.

      ...or in standard Apple dialogs.

      Historically, Mac OSes use colon to separate folder names in a path.

      ...which is why the Carbon layer does colon slash mapping for file/path names passed to UN*X calls or file names and file/path names returned by UN*X calls.

      There is a subtle restriction in HFS+. All files in HFS+ have their names in normalized unicode

      Normalization Form D, to be precise - unlike Normalization Form C, which Windows and most other UN*Xes use. This can cause some additional problems.

    3. Re:colon in Mac OS X file names by MikeTheC · · Score: 1

      Under Mac OS 6.x and earlier, you could actually type in a path statement if you liked. However, the path and filename had to be 32 characters or less. I used it a bit myself, and was rather disappointed when Apple auto-remapped the : to a - in MacOS 7.x and later. However, in MacOS X you can actually do path statements again using the / . Hooray! (Not that I really use it that much, still, but...)

  64. Colon in OS X by Fulkkari · · Score: 1
    OS X supports up to 255 characters and can use the same characters as Linux, except for a colon (:). However, the Finder may have trouble with bizarre file names that can be created in the shell.

    OS X supports colon on the command line. In Finder the colon will look as a forward slash. Why? Because OS X wants to support filenames with a slash eg. "sofa/car.jpg" (I believe this is a remnant from pre-OS X). Due it's *NIX heritage it cannot do that, so they chose to do this trick of showing colon as slash with Finder. Quite nice IMHO.

    Summary:

    • colon is forbidden in Finder, but accepted on the command line
    • slash is accpeted in Finder, but forbidden in the command line
    • colon in the command line equals slash in Finder
    --
    I demand the Cone of Silence!
    1. Re:Colon in OS X by Anonymous Coward · · Score: 0

      At first I found #2 hard to believe, but I tried it in a command shell (cat > 'colon/slash/ok.txt' and even cat > colon\/slash\/ok.txt), and you're right. It claims "No such file or directory", and refuses to make the file.

      Someone aught to write up a module called "SafeFileName" that, given a list of files, and two systems to represent it, will warn about filename collisions (e.g., README and ReadMe in the file set), invalid filenames, and offer unique, safe names that will work in both. I imagine something like this gets re-written many times for network file systems and file archivers.

    2. Re:Colon in OS X by Guy+Harris · · Score: 1
      OS X supports colon on the command line.

      Exactly. It's a UN*X.

      In Finder the colon will look as a forward slash.

      At the Carbon layer, path names with colon separators are mapped to UN*X path names with slash separators by mapping colons to slashes and vice versa, and file names coming up from the UN*X layer (readdir(), getdirentriesattr(), etc.) have colons mapped to slashes by the Carbon layer. A pure Cocoa app might be able to see the real UN*Xness underneath, given that Cocoa is the descendant of the old NeXTStEP stuff. The Finder's a Carbon app, so it mostly shows you the Carbon view of the world (but in some places, you see UN*X paths, e.g. in the "Where:" part of the "General:" information in the Info dialog for the file).

      (Also, on disk, the HFS+ code maps colons to slashes on incoming file names and maps slashes to colons on outgoing file names, so files are stored on-disk in the old Mac OS style, so that older versions of Mac OS can still read the volume but it looks like a UN*X file system to code at the VFS layer and above in OS X.)

      I believe this is a remnant from pre-OS X

      I believe you are correct.

    3. Re:Colon in OS X by wootest · · Score: 1

      There's no such thing, relatively, and in this context, as a "pure Cocoa app", because as far as I know Cocoa builds on Carbon in order to simplify and not repeat very low-level primitives. In this vein, the Cocoa file system primitives (NSFileManager and so on) use either the Carbon library functions or C (POSIX library) functions directly. I have no idea if Apple's implementation of the POSIX layer does this automatically, but it'd make sense.

    4. Re:Colon in OS X by Guy+Harris · · Score: 1
      There's no such thing, relatively, and in this context, as a "pure Cocoa app", because as far as I know Cocoa builds on Carbon in order to simplify and not repeat very low-level primitives.

      I think Cocoa might compensate for Carbon's mapping between colon and slash by doing its own mapping.

      I have no idea if Apple's implementation of the POSIX layer does this automatically, but it'd make sense.

      In the kernel and libSystem, at or above the VFS layer, the POSIX layer knows nothing of Carbon's "let's pretend this is classic Mac OS" transformations. The pathname separator is slash, and colon is just another file name character just like any other character. Below the VFS layer, HFS+ does its own mapping, so that the file system can be understood by pre-OS X versions of Mac OS but the code above it would see it as a regular UN*X file system with colons allowed in file names, and the AFP client and server might do that as well for the same reason. The other file systems that came from BSD file systems (UFS, NFS, smbfs, FAT/VFAT, NTFS, and the ISO 9660 file system), and UDF, don't do any such mapping.

      So any UN*X-layer calls made directly by Cocoa would have slash as a pathname separator and colon as just another character in file names. (And, yes, this means that if Cocoa turns colons into slashes and slashes into colons and hands the resulting pathname to the Carbon File Manager, and the resulting access is to a file on an HFS+ file system, "Start: section 1" will get mapped to "Start/ section 1" by Cocoa, "Start/ section 1" will be mapped to "Start: section 1" by Carbon, and "Start: section 1" will be mapped by HFS+ to "Start/ section 1" for storage on disk. The joys of backwards compatibility....)

    5. Re:Colon in OS X by wootest · · Score: 1

      Great, now my head hurts. :) Backwards compatibility point gladly supported.

      I obviously know about a 2% of what you know regarding actual details here, but my main point was that Apple might have worked into a special case for HFS+ into the very lowest layer - this would make sense since they have to make accommodations for HFS+ support anyway and have a system for supporting file systems that from the looks of it is non-standard (check /System/Library/Filesystems/).

      Lesson learned: never mess with someone with an alum.mit.edu email address and a four digit Slashdot ID. :)

    6. Re:Colon in OS X by spitzak · · Score: 1

      The definatly did not alter POSIX, a colon passed to it is part of a filename, and a slash is always a sperator.

      The swapping of colon and slash is done by the Carbon emulation.

      You are correct that whether a Cocoa system does this depends on whether it calls POSIX or Carbon emulation. But I think almost all of Cocoa uses the POSIX api, as it is based on NeXTStep which was a Unix system.

    7. Re:Colon in OS X by Guy+Harris · · Score: 1
      but my main point was that Apple might have worked into a special case for HFS+ into the very lowest layer

      The very lowest layer in the kernel is in HFS+, and the special case is that it stores ":" in file names on disk as "/" and returns "/" in on-disk file names as ":". It expects to be handed, from the VFS layer, file names that do not contain "/", and it handles file names that contain ":", treating the ":" as a regular file name character; it just translates ":" to "/" in the on-disk data structures so that pre-OS X versions of Mac OS won't get upset if they try to read the volume.

      That's all invisible to stuff above it, though. At the UN*X layer ("BSD layer", "POSIX layer") all pathnames have "/" as separators and ":" is treated as an ordinary file name character.

      and have a system for supporting file systems that from the looks of it is non-standard (check /System/Library/Filesystems/)

      That's not really a system for supporting file systems, it's just a place where some of the file-system-specific OS code and data files are put. Other code is put in /System/Library/Extensions (the kernel loadable modules for those file systems implemented as loadable modules) or in /sbin (newfs/fsck/mount programs for particular file systems).

    8. Re:Colon in OS X by wootest · · Score: 1

      This is very interesting stuff and I thank you for sharing.

  65. Symlinks by Anonymous Coward · · Score: 0

    Symlinks are the best idea in fileing system. Windows still doesnt support them at all. But then i guess its too complex for most brain dead people.

    But limits ? windows is 255 what would happen to most of its apps if you did this ?

    mkdir tmp
    cd tmp
    ln -s ../tmp

    I have seen windows choke on loops like these in a file system across samaba.
    Yuo really knwo something is wrong when a find takes a really really long time to finish on a windows workstation!!!

    1. Re:Symlinks by mistralol · · Score: 1

      Yes its always good to have your MCSE certitified person changing tapes for a backup all weekend

  66. Re:Who gives a shit that linux supports long names by vadim_t · · Score: 1
    All of that is great, but your original comment seemed to imply that Windows has nice long self-describing filenames. All I did was to point that Windows has lots and lots of stuff that's imposible to even guess what it might be from the filename. It's great that you can check the documentation and the file properties, but that's not what I was talking about.


    More to the point, though, why do you care what this stuff is? Are you seriously going to tell me you do stuff like go through all 3,000-odd system files checking to make sure you know exactly what each is for, and deleting the ones you know you don't want, or something?


    What a strange question, of course I want to be able to guess what's each file for. It's my computer, and I like my computer being under my control and know what is there and why. To even suggest that I should accept that I don't know what's on my disk is ridiculous.

    And what's the "Zhuyin phonetic alphabet" doing there anyway? No wonder Windows wastes so much disk space. On my server I have absolutely what's needed and nothing else, why would I want to waste space on stuff like chinese support I won't ever use anyway?
  67. International support by b1t+r0t · · Score: 2, Insightful

    There's a whole new dimension of fun when your file names include non-Roman characters, such as Japanese.

    First of all, there is the matter of which encoding the file names are in. Lots of Japanese Windows installs and their utilities still use Shift-JIS for file names. OS X, on the other hand, uses Unicode, and typically expects UTF-8 for file names from programs. In fact, it not only expects it, it enforces it, returning an error when attempting to use a file name which is invalid UTF-8.

    Many command utilities that deal with archive files utterly fail on OS X when given archives using Shift-JIS file names, and many others improperly translate it as 8-bit ISO Latin I. A few (such as the command line RAR archiver) are actually smart enough to make a system call to translate the file name from Shift-JIS to UTF-8.

    And then there is the issue of Shift-JIS MP3 tags. If you open those with iTunes, not only do they get interpreted as ISO Latin I, but irreversably so if you do something that writes them back to the .mp3 file. (They get written back as a UTF-8 representation of the ISO Latin.) I've had luck in the past using a hex editor and SimpleText in Classic to convert them with much work, but I'm not sure what I'll do with the new Intel Macs that don't support Classic.

    --

    --
    "Open source is good." - Steve Jobs
    "Open source is evil." - Microsoft
    1. Re:International support by thatguywhoiam · · Score: 1
      And then there is the issue of Shift-JIS MP3 tags. If you open those with iTunes, not only do they get interpreted as ISO Latin I, but irreversably so if you do something that writes them back to the .mp3 file. (They get written back as a UTF-8 representation of the ISO Latin.) I've had luck in the past using a hex editor and SimpleText in Classic to convert them with much work, but I'm not sure what I'll do with the new Intel Macs that don't support Classic.

      Try TextWrangler or BBEdit, I think they'll do what you want. You can AppleScript them as well.

      --
      If Jesus wants me it knows where to find me.
  68. Re:help!!! by Anonymous Coward · · Score: 0

    GBPVR is the only alternative you need to consider. All the others are either rubbish or to difficult to setup(don't even both looking at Myth TV, isn't that Linux only anyway?)

    Also get an MVP, gbpvr has great support for this, and it allows you to watch tv/videos and other stuff on a tv.

  69. HFS can be case-sensitive too by LKM · · Score: 1

    Mac OS X's flavour of HFS is case preserving, but not case sensitive by default. However, it can be changed to be both case preserving and case sensitive if you prefer it.

  70. NTFS Streams by Meneguzzi · · Score: 3, Interesting

    I know this might sound a bit offtopic, but since the post mentioned windows filesystems, I felt it might be a good place to throw this question...
    Not many people know or have even used this, but NTFS has support for multiple streams of data in a single file, which is something that borrows concepts from object-oriented filesystems. This is scarcely, if at all, included in the regular windows documentation (it is documented in the MS knowledge base http://support.microsoft.com/kb/105763/). I thought it to be a nice idea for, say, media files, to store the audio in one stream the the video in another, or adding subtitles or metainformation in different streams in a very standard way. But for some reason nobody used that, not even Microsoft who designed the feature.
    Does anybody have a clue as to why this has not been used?

    --
    www.meneguzzi.eu/felipe
    1. Re:NTFS Streams by Anonymous Coward · · Score: 0
      • Only available on NTFS (try copying a file with streams to a filesystem that doesn't support them...)
      • Explorer (and other tools) don't show any trace of streams beyond the $DATA stream: file sizes only include the $DATA stream, etc., making them nearly invisible (and thus a prime target for anyone wanting to hide files - malware comes to mind)
      • A stream can't be deleted separately from the file/directory it is attached to; therefore, if you attach a stream to the root directory, you're fscked.
    2. Re:NTFS Streams by ericlondaits · · Score: 1

      If flashy filesystem features like this can't be translated to other filesystems, they become more of a problem than a feature. Think trying to copy those files to other filesystems, CDs, flash drives, ftp, http, etc. Cool, but worthless.

      --
      As a Slashdot discussion grows longer, the probability of an analogy involving cars approaches one.
    3. Re:NTFS Streams by ps_inkling · · Score: 1

      Primarily, the multiple streams in NTFS were made to support storing Macintosh dual-fork files (data & resources) on an NTFS volume. Wikipedia, Microsoft, and others have more information. Since then, the alternate data streams have been used for many other purposes.

      Did you know that XP used the streams to store the summary information about documents? MSDN has the details.

      I remember an anti-virus program was keeping the MD5 of each scanned file in an NTFS stream, a la tripwire.

    4. Re:NTFS Streams by oPless · · Score: 1

      Explorer does! it stores thumbnail info

    5. Re:NTFS Streams by Blakey+Rat · · Score: 1

      1) Windows does use multiple streams; for instance, Explorer.exe stores icon previews in them

      2) They were created (I believe) for compatibility with Apple's 2-stream files (or 3 streams, if you count the metadata as a stream)

      3) There's no decent protocol for transmitting multiple-stream files over the Internet. Why do you think Mac users have to use MacBinary or BinHex encoding schemes when sending emails?

      4) Container file formats, like AVI and Quicktime, already exist to solve the movie/audio problem, so there's no point in re-solving it using streams. Especially considering streams don't transfer over the Internet without encoding of some sort.

    6. Re:NTFS Streams by Ash-Fox · · Score: 1
      2) They were created (I believe) for compatibility with Apple's 2-stream files (or 3 streams, if you count the metadata as a stream)
      Actually it was something copied from OS/2's filesystem.
      3) There's no decent protocol for transmitting multiple-stream files over the Internet. Why do you think Mac users have to use MacBinary or BinHex encoding schemes when sending emails?
      Actually there is, it's called CIFS (Common Internet File System).
      --
      Change is certain; progress is not obligatory.
  71. .3 extensions by spitzak · · Score: 1

    The actual limits were that the extension could not have more than 3 characters, and (more annoyingly) the extension always had to be there. The actual FAT storage had 11 bytes to stash the filename in, and it always stuck a period after the 8th character. The sections could be shorter by filling the unused bytes with null (? or maybe space?).

    The filenames "foo" and "foo." were the same file. Programs were somewhat inconsistent as to whether they printed the period or not in this case.

    You could actually make files named ".foo" which was convienent for Unix emulation, but only 3 letters. Also some programs crashed on that.

  72. Gripe about Mac file system by sacrilicious · · Score: 1
    A strong objection I have to OSX's treatment of files is its practice of creating one invisible file for every visible file (differing in name only by a preceding dot). I consider this to be littering, and it causes trouble when disks are shared between operating systems (example: file-browse through a large collection of mp3s on OSX, then view the same mp3 collection in an mp3 application on another OS; suddenly you've got twice as many entries, half of which are not real mp3 files). IMO Apple should have chosen to maintain extra metadata somewhere else; optimally somewhere out of view, but at worst in the per-directory invisible file they write titled ".DSStore". Grr.

    If anyone knows a way to disable this behavior, please do let me know.

    --
    - First they ignore you, then they laugh at you, then ???, then profit.
    1. Re:Gripe about Mac file system by Guy+Harris · · Score: 1
      A strong objection I have to OSX's treatment of files is its practice of creating one invisible file for every visible file (differing in name only by a preceding dot).

      No, a preceding dot followed by an underscore. It shouldn't be doing that for every file, only for files that

      1. are stored on a file system where the OS X code doesn't natively support the resource fork/Finder attributes and
      2. have a resource fork or Finder attributes added to them.

      That still might be most of the files you see in some cases.

    2. Re:Gripe about Mac file system by SanityInAnarchy · · Score: 1

      Which OSX? Or are they invisible to the shell also?

      On Tiger, looking at a cluttered desktop:

      eve:~ sanity$ cd ~/Desktop/ eve:~/Desktop sanity$ echo .* . .. .DS_Store .localized eve:~/Desktop sanity$
      --
      Don't thank God, thank a doctor!
    3. Re:Gripe about Mac file system by Brome · · Score: 1

      Actually, it's absolutely normal that you don't see these ._ files, because they don't exist. Chances are that your Desktop directory be located on a HFS+ volume, and OS X doesn't need ._ to store metadata on HFS+. Metadata are store somewhere else in the file system.

      Most of the time, these annoying ._ files are seen on FAT32 volumes that many of us use to convey files from an OS to another.

    4. Re:Gripe about Mac file system by sacrilicious · · Score: 1
      [OSX] shouldn't be [creating invisible doppelganger files] for every file, only for files that
      • 1. are stored on a file system where the OS X code doesn't natively support the resource fork/Finder attributes and
      • 2. have a resource fork or Finder attributes added to them.
      That still might be most of the files you see in some cases.

      I'm seeing this behavior on FAT32, which has got to be one of the most common file systems in the universe; in fact, off the top of my head it's the only filesystem commonly writeable by linux, osx, and windows. And it happens in response to a mere file browsing in OSX; doesn't mean your point #2 is wrong, but if not then it would imply that the most common user operation in OSX results in this problem.

      --
      - First they ignore you, then they laugh at you, then ???, then profit.
  73. Slashes, forward and back by clem.dickey · · Score: 1

    CPM, and Digitals OS family (RSX-11, RSTS) before that, used / as the option prefix (aka switch character).

    By the time MS DOS 4 came out Microsoft realized that diverging from Unix was a bad idea. CMD.EXE, recognized the environment setting SWITCHAR=- as an indication that the switch character was - and that / could separate file path components. But IBM DOS 4 did nof follow suit. Furthermore, command line processing was not centralized. Every program which parsed command lines or file names - not just CMD.EXE - had to be modified if the SWITCHAR convention were to be useful.

    In Windows (as opposed to CMD.EXE), the file parsing functions permit either \ or / to separate path components. And that is documented. As an exception, last time I looked, UNC names had to start with \\; // was not accepted.

    1. Re:Slashes, forward and back by SanityInAnarchy · · Score: 1

      This is why shared libraries are so useful. Just modify any .BAT files to set SWITCHAR=/, and modify the shared library. Suddenly, all your programs work.

      This is also why I hate the OS X "packaging" that everyone loves so much -- your app has to check for updates by itself, if it wants them, and it's designed to include all libraries within the .app, so your program never has external dependencies. Unfortunately, not having external dependencies means not being able to automatically take advantage of improvements in those dependencies.

      --
      Don't thank God, thank a doctor!
    2. Re:Slashes, forward and back by theCoder · · Score: 1

      In Windows (as opposed to CMD.EXE), the file parsing functions permit either \ or / to separate path components. And that is documented. As an exception, last time I looked, UNC names had to start with \\; // was not accepted.

      Indeed, "/" works even in code, for example, fopen("c:/directory/foo.txt"). Also, "//" works as well as "\\", at least in code: fopen("//server/share/dir/foo.txt"). "//" doesn't seem to work on the CMD.EXE command line, though, probably because that begins the argument with "/" which is the switch character. But that is a terrible shell, anyone doing any sort of command line work on Windows should install Cygwin and use its bash (which does support "//" in the file name).

      --
      "Save the whales, feed the hungry, free the mallocs" -- author unknown
    3. Re:Slashes, forward and back by clem.dickey · · Score: 1
      Thanks for the update on UNC. Perhaps my memory is bad, or my testcase was faulty.
      "//" doesn't seem to work on the CMD.EXE command line
      Slashes generally work in CMD.EXE if you quote the filenames: TYPE "c:/directory/foo"
    4. Re:Slashes, forward and back by dr_turgeon · · Score: 1
      This is also why I hate the OS X "packaging" that everyone loves so much -- your app has to check for updates by itself, if it wants them, and it's designed to include all libraries within the .app, so your program never has external dependencies.
      Hate is a strong word, and I don't believe that you are correct. The .app's own package is just one *domain* (or "scope") in which to include frameworks/libraries.

      Unfortunately, not having external dependencies means not being able to automatically take advantage of improvements in those dependencies.
      Well, there is another side to that coin... Portability/Easily moved/Compatibility. How flexible/or/simple to make it is of course the choice of the developer.
      --
      "...objectivity resides in recognizing your preferences, subjecting them to especially harsh scrutiny." -Gould
    5. Re:Slashes, forward and back by theCoder · · Score: 1

      Yes, forward slashes work in CMD in general, but two forward slashes for a UNC path don't work I think because they begin the argument, so it tries to interpret it as a switch.

      --
      "Save the whales, feed the hungry, free the mallocs" -- author unknown
    6. Re:Slashes, forward and back by SanityInAnarchy · · Score: 1
      The .app's own package is just one *domain* (or "scope") in which to include frameworks/libraries.

      I get it. But I can't say I've ever seen a .app file with any external dependencies other than what comes with the OS. Ok, I lied -- there are a few, like Eclipse or Filemaker, but Filemaker isn't packaged as a .app (and I don't think Eclipse is either), and it does kind of negate the point of having the one self-contained bundle.

      Well, there is another side to that coin... Portability/Easily moved/Compatibility.

      Which does limit the use of shared libraries, I get it. The weird thing is, I can't think of ANY time I've been happy to have .app on my mac. Most of the time, the apps were either small enough that you'd send them the download link, or they're large enough that it's a .mpkg anyway.

      Maybe I'm unique, but I cannot remember the last time I ever did something like, say, put a .app on a thumbdrive to give to a friend. I cannot count the number of times I've been annoyed at a computer being slow -- not a Mac specifically, but any computer. Thus, making it slower all the time (using more RAM), and making it more difficult to update/maintain, in order to make something easier that I've never seen or heard of a real Mac user doing, makes no sense at all to me.

      I could go on, but let's just say I hate .app, but I love apt-get.

      --
      Don't thank God, thank a doctor!
  74. Windows XP still uses 8.3 format by Yuioup · · Score: 1, Interesting

    1. Run regedit.

    2. Go to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\Eventlog\Application\

    3. Click on every folder underneath that one. Look at the eventmessagefile key.

    Have you noticed that all of them have an 8.3 format?

    It's a bug I came across in Windows. I tried to register a file for use in the Windows Event Log. It didn't have an 8.3 format. Windows barfed all over it.

    Y

    1. Re:Windows XP still uses 8.3 format by muletool · · Score: 1

      C:\Program Files\Symantec\LiveUpdate\LuComServer.exe

      --
      Can I bum you a .sig?
  75. Re:Who gives a shit that linux supports long names by mrchaotica · · Score: 1

    I was comparing the entirety of a program installation across the platforms. If you notice, I also mentioned the Windows registry, Linux home directory (for dot files) etc. as well, and those don't techically hold the programs themselves either.

    --

    "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

  76. Re:Any way to turn off Joliet support in Windows X by Anonymous Coward · · Score: 0
    Well, if MS hadn't decided to use \ as a directory separator, you could just backslash it.

    You could try opening a command prompt and escaping it with ^, but I wouldn't bet on it working.

    ("copy ^< con" seems to grab an arbitrary file...)
  77. It's called GLScube by Colin+Smith · · Score: 1
    --
    Deleted
  78. Use tab completion. by aliquis · · Score: 1

    But who uses a shell without tab completion anyway? mo done, and no silly numbers to remember/look for either.

    1. Re:Use tab completion. by aichpvee · · Score: 1

      Apparently windows users.

      --
      The Farewell Tour II
  79. Apple Ad by Rick+Zeman · · Score: 1

    I rememeber Apple's full page ad in the New York Times when Win95 was released:

    C:\ONGRTLNS.W95

    Those were the days. :-)

  80. And you thought Sunday was a slow news day? by jpellino · · Score: 1

    I'm heading over now to re-read the gripping story of the Google plane!

    --
    "Win treats sysadmins better than users. Mac treats users better than sysadmins. Linux treats everyone like sysadmins."
  81. My personal gripe... by ShyGuy91284 · · Score: 1

    I usually mount my Linux server's samba share on my iBook. Whenever I download posts from newsgroups that preserve folder structure based on post title (which often includes symbols such as '[', '~', and '*") on my iBook and want to transfer them to the server, it bitches And won't let me copy them. Yes, it's a protocol error, but I dislike that I well know Linux and HFS+ can both read these, but it won't copy....

    --
    In undeveloped countries, the consumer controls the market. In capitalist America, the market controls you.
    1. Re:My personal gripe... by PitaBred · · Score: 1

      ...so why use samba? Why not use NFS or something that's native to both Linux and Mac and works with things like that?

  82. Think about it... by ratboy666 · · Score: 2, Insightful

    The purpose of the "OS" (its actually not the OS here, but lets use that term to make the following discussion clear) is to provide the set of tools needed to implement your "paradigm" (again, not true, but it will do).

    Your way of thinking.

    As it turns out, having multiple "files" composing a "document" is easily mapped in a hierarchical layout. As a simple idea, put all the files into a node and call that node the name of the document.

    The "OS" should not impose upon the applications, but should provide ready services that map well into what the application(s) want.

    Unix further provides "hard" and "soft" links to allow you to do (for example) sharing. As an example; you have a boilerplate logo image. It can be hard linked into your documents.

    "Random" (I do not think you really want random) can be accomplished with soft links.

    Content searching? Either "find" or "grep" will do (ok, for up to several hundred megabyte of content -- and if you have hit THAT limit, let me know -- its a separate discussion).

    You will have noticed that I have (so far) eschewed GUI tools in this discussion. The blatent omission of find/grep and other tools has mystified me. Either it is hard to do (semantic mapping of symbolic language to pictures) -- which is true, or the GUI designers are deliberatly dumbing things down.

    It would be nice to have an "assembler" in file open boxes: I would like to be able to say "Please open a file containing project in the name, whose contents include September 10, which was last modified in 2002, of type ASCII text".

    Now, all the tools to do this are included in the "CLI" interface: find, grep, ls, file. But, when we hit the GUI, these tools vanish. "NO SYMBOLIC REASONING FOR YOU - STICK TO THE CONCRETE" is the slogan.

    Since the "classic" Unix GUI is basically X supporting XTERM, which in turn launches applications, the CLI is still there. But in modern Linux, Unix, OS X environments, most users are never exposed. And, in turn call for more "paradigms" to be created.

    And, this is HARD. Witness Microsofts failure with "WinFS". Witness that the largest jump has been to Plan9, which extends the Unix way (by putting more stuff under this control). Witness the success of mapping things like "/proc". There really HASN'T been a new "paradigm" that offers more.

    The problem is that trying to utilize the filesystem is lost in the GUI translation. Apple indexes files, by content, for GUI consumption. This is NOT a new breakthrough -- Unix has had "locate" which is most of the way there for ages. Indexing by content? Again, not new. Merging these ideas is fair, and I wish that Apple had based the kit on CLI for maximum portability.

    Ratboy

    --
    Just another "Cubible(sic) Joe" 2 17 3061
  83. Obligatory - Re:What about standards? by Anonymous Coward · · Score: 0

    it doesn't resolve the conflict with Windows case "insensitivity", but ...

    I use Linux, you case insensitive clod!

  84. Worse yet by kahei · · Score: 1


    Worse still, in Linux, the command to change to a new directory is called something needlessly cryptic ('cd'!?!) instead of the more useful 'change directory'. And Linux has been supporting filenames longer than 2 characters for HOW long??

    Hint: Suppose the name of 'cd' or 'iexplore.exe' really did change. What would happen to your company's scripts, that were written in 1993 by a student who later died in a freak gardening accident?

    Only on Slashdot would the above need pointing out, I swear!

    --
    Whence? Hence. Whither? Thither.
  85. Re:Who gives a shit that linux supports long names by 99BottlesOfBeerInMyF · · Score: 1

    I was comparing the entirety of a program installation across the platforms.

    Yes, but most OS X applications do not create any files in the Library directories upon installation, instead they do so the first time the program is used and saves setting/preferences information.

  86. APPLE II FOREVER!!! by morcheeba · · Score: 1

    I'VE BEEN USING LONG FILE NAMES SINCE 1978.
    I SAY THE NEXT CHALLENGE IS LOWER CASE.

  87. Re:Who gives a shit that linux supports long names by mrchaotica · · Score: 1

    Ones that are "installed" by dragging the .app folder, sure, but what about ones that use an installer script (.pkg, .mpkg)?

    --

    "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

  88. Linux case-insensitive patch by Spazmania · · Score: 1

    One of first culture shocks for people moving from Windows to Linux is the case sensitivity of file names.

    I wrote a patch that creates an "ext3ci", a case-insensitive ext3 filesystem for Linux. Because it creates a seperate driver, you can have parts of the directory tree set up as classic case-sensitive and parts insensitive. Bash's wildcard expansion still expects case sensitive names but its great for web servers and similar machines where the users are expecting case-insensitive behavior.

    http://bill.herrin.us/freebies/

    --
    Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
    1. Re:Linux case-insensitive patch by belg4mit · · Score: 1

      Well the lusers are wrong, and mod_speling will solve the same "problem" and more for Apache.
      If you really want case insensitivity, why not simply use FAT?

      --
      Were that I say, pancakes?
    2. Re:Linux case-insensitive patch by Spazmania · · Score: 1

      Perhaps you haven't heard, but "the customer is always right."

      Solving the problem for Apache doesn't solve it for any of the other applications. Solving it for the filesystem solves the problem for everything except wildcard expansion. Solving it for Apache requires a slow directory search. Solving it for the filesystem takes a short, fast patch.

      As for why not FAT, I assume that was a rhetorical question.

      Why are folks like you so hostile to Linux having a decent case-insensitive filesystem anyway? Its holding Linux back from desktop adoption. This makes no sense to me.

      --
      Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
    3. Re:Linux case-insensitive patch by belg4mit · · Score: 1

      Because case-insensitivity is an example of dumbing something down for no
      real benefit simply to appease those unwilling to learn a simple concept.

      --
      Were that I say, pancakes?
    4. Re:Linux case-insensitive patch by Spazmania · · Score: 1

      I'd argue that programmers who won't learn about and accomodate their users' mental models are the ones "unwilling to learn a simple concept" but that argument would fall on deaf ears, wouldn't it?

      Let me put it another way: only an ass would insist her name was Zoë, not Zoe. Why would you intentionally program Zoe's computer to behave like an ass? E means e means ë. Mere mortals understand this simple concept. Why does it cause programmers such trouble?

      --
      Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
    5. Re:Linux case-insensitive patch by belg4mit · · Score: 1

      You have it backwards, as ext2 etc. were never intended to accommodate those whom "expect"
      these things--indeed they arguably only do so because it's all they've ever known--and so
      it is not the developers role to "learn". Kindergartner's can learn case, why is everyone
      so accepting of the AOL-LiveJournal millenials who will not? Stop kowtowing to the massive
      ignorant!

      The only reasonable circumstances where one can argue about case being a hindrance is with
      search, and yet most search tools (find, locate) provide case-insensitive search.

      P.S. As for your take on accents, you've apparently not met many Europeans, particularly those
      of the French variety.

      P.P.S. English itself has no accents.

      --
      Were that I say, pancakes?
    6. Re:Linux case-insensitive patch by Spazmania · · Score: 1

      You're French? That explains a lot.

      --
      Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
  89. Linux was *NOT* born with Long filename support by Anonymous Coward · · Score: 1

    I forget the specifics, but the Minix Filesystem that Linux originally used only supported fairly short filenames. IIRC, they were longer than 8.3, but still fairly short. Besides, 8.3 isn't that bad, one OS I still use (RT-11) only does 6.3.

    Z.

    1. Re:Linux was *NOT* born with Long filename support by julesh · · Score: 1

      I forget the specifics, but the Minix Filesystem that Linux originally used only supported fairly short filenames. IIRC, they were longer than 8.3, but still fairly short.

      Max 16 characters, I think it was.

  90. See, you should have just asked /. by Overzeetop · · Score: 1

    Of course, you'd have been berated for not knowing the -- beforehand, but hey - you'd have the answer, right?

    (hey, I didn't know it either, but I'm a windows weenie, so I don't count)

    --
    Is it just my observation, or are there way too many stupid people in the world?
  91. can we finally hide the FS? by fikx · · Score: 2, Interesting

    Personally I like the Linux (Unix) method. Nothing wasted. But, have we reached the point yet were we can abstract the filesystem away from users? It's nice for an admin to be able to poke around and fix problems, but can we come up with one set of rules on filenames (Linux please!) and then have the OS read the FS and put a pretty picture of those rules in front of the common user? One of my biggest wonders in computers has been the fact that the underlying FS determines what file names and such I have to juggle. That's kinda annoying. Why haven't we come up with an API to abstract this yet?

    --
    AB HOC POSSUM VIDERE DOMUM TUUM
  92. No magic detection and file extensions bad. by sowth · · Score: 1

    Not only that, but what about the lusers who change the extension. They might want that picture to have motion so they rename "mekitty.png" to "mekitty.avi" and expect it to work. Or they want to import it into a word processor (one which doesn't read most picture formats) and they rename it to "mekitty.doc", then they send it to some "smart computer guy" and ask him to fix it. ...and if you have an OS or any programs which decifer the magic string, you have one hell of a time with that file...

    Too much fun for me.

  93. 8 bit horror by Matz0r · · Score: 1

    Most users will never settle for only alphanumerics/hyphens, and it's usually the user who has the filename problems. Especially where I am, where every user is wielding a 8-bit character map and lots of imagination. I still remember the horror days when I had to fight a loosing battle involving a Unix file server, sharing the same tree to MacOS and Win95 users with 8 bit filenames. Although things have gotten better with OSX/XP there's still room for improvement.

  94. Option-8 must die. by SocialEngineer · · Score: 1

    What kills me is Mac's Option-8 character - We (ab)use it regularly @ my place of work, and it drives me insane how tied we are to it. Not a good character to use if you are a CL whore such as myself :)

    --
    "Better to be vulgar than non-existent" -Bev Henson
  95. Windows far more annoying than mentioned by Anonymous Coward · · Score: 0


    Windows also reserved certain file names, like "con".
    Oh, and that includes constructs like "con.c".

  96. Re:File servers (or optical) by toccoa · · Score: 1

    Even worse is if you are trying to write a CD-R or DVD-R. They have their own similar but not the same restrictions. file length and commas IIRC. PITA

  97. Re:Who gives a shit that linux supports long names by 99BottlesOfBeerInMyF · · Score: 1

    what about ones that use an installer script (.pkg, .mpkg)?

    Half of those install in places other than the Applications folder and tie into the BSD-like environment. The others can install files in the Library folders, and some do and some don't.

  98. case sensitivity problems by kwench · · Score: 1

    AmigaOS (to throw in another pre-Win95 system that support longer than 8.3-filenames) was case insensitive, too. In addition it used its Locales feature to match Files like "WÜRMER" and "würmer" or "école" and "ÉCOLE". Once I knew the Linux way of case sensitivity, I must admit that the Linux solution is the best, since you cannot possibly sort out all strange German, French, Icelandic,... whatever letters.

    In unrelated thoughs, a problem with different filesystems is that it's hard to preserve the correct spelling of those Umlauts or accends. WÜRMER.EXE on VFAT easily translates to W?RMER.EXE on my ext3 Linux system. Ideas anyone?

    1. Re:case sensitivity problems by Anonymous Coward · · Score: 0

      It isn't the filesystem... It just stores the name string.

      What you are USING to view the directory is what is translating the unknown character to "?".

      You might try specifing/setting the language locale...

      Check the man pages "man locale"...

      I'll bet you have en_us

  99. Re:Who gives a shit that linux supports long names by SanityInAnarchy · · Score: 1

    I don't think they help much when using slow ssh sessions. I mean, they do help, but usually a "slow ssh session" is mainly about latency. That is, you could type a whole line of text and wait for it to be sent, but it would go through all at once when it did. Calling it "man" instead of "manual" to save three keystrokes is pointless, because you'll almost never have an ssh session where three keystrokes is faster than six. Just type as fast as you want, and wait for it all to go through.

    If it did save time, you've got bigger problems -- "man" almost always returns a full screen of text, which (if it mattered, which it doesn't) is going to take a lot longer than waiting the extra three chars for "manual" instead of "man".

    Don't get me wrong, I'm not suggesting we change it. Learning archaic commands and function names is something of a hazing ritual in the hacker community, and they're worth it for the inside jokes anyway -- "man woman" doesn't work with "manual".

    --
    Don't thank God, thank a doctor!
  100. What about C:\Progra~2 ??? by jetmarc · · Score: 1

    > In my mind Program Files is progra~1 and Microsoft is micros~1.

    Things get really nasty on international installs.

    German Windows for example keeps applications in "C:\Programme\" which also translates to "C:\Progra~1".

    Now, some software uses hard-coded paths and on German windows you often also find a "C:\Program files\" folder (usually empty or with just one program in it). This folder is "C:\Progra~2".

    With this (not so uncommon) setup, imagine you want to make a backup. You go folder by folder, in alphabetical order. You'll back up "C:\Program files" first and "C:\Programme" second, because blank goes before the letter "m" in most alphabetical comparisons.

    Later, you're going to restore to a blank harddrive. You'll restore "C:\Program files" first, and this will allocate "C:\Progra~1". Then you'll restore "C:\Programme" and this will allocate "C:\Progra~2".

    Damn, it's exactly the wrong way. How could this happen?

    Well, it happened to me with an IOMEGA backup product. Half of the software didn't work anymore, because it had the wrong path in their .INI files and registry keys.

    Two lessons learned:

    1) Don't trust IOMEGA products for backup.

    2) Having transparent (=automatic) multiple names for files is evil. The long/short name stuff should have been implemented in a different way, that makes it less automatic and thus more controllable/predictable to the developpers.

    Marc

    1. Re:What about C:\Progra~2 ??? by spongman · · Score: 1
      The long/short name stuff should have been implemented in a different way

      What different way?

      Sure, the exact formatting of the generated short-names could be different, but if you think about it for more than a few seconds, the requirement that the short names cannot change over time requires that you save them in the FS. and that implies that the actual names you get depend on the order in which they're created.

      the bug is that they made the names almost predictable, so people assumed that "c:\progra~1" mapped to "c:\program files" - an invalid assumption.

      the reason these names existed at all was for backwards compatibility with DOS & Win16 (or poorly-ported Win32) apps that couldn't handle long filenames.

    2. Re:What about C:\Progra~2 ??? by petermgreen · · Score: 1

      they could have put in (and heavilly pushed the use of) an api to allow backup apps to backup and restore short filenames correctly though.

      i guess they could have also used a random number rather than sequential, they couldn't really use an alias scheme that didn't contain any of the original filename as it would have made life near impossible for users of old apps.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
  101. Practical stuff... by WWWWolf · · Score: 1

    Well, the practical stuff is basically this: Linux supports whatever you put in the file names, Nautilus supports both Latin-1 and UTF-8 file names. OS X insists on UTF-8 names, on file system level. MacOSX chokes if I unzip or scp or svn a file that has Latin-1 file names - either refuses to cooperate or truncates the names, as happens with Linux-burned CDs. Linux-burned Rock Ridge CDs work just fine in Mac (aside of the Latin-1 issue). Mac burns CDs using some weird (new?) variation of Rock Ridge that makes makes all files lower-case in Linux, and makes the files *appear* to have 512 bytes, in case I burn big .aiff files (big files, or a four-letter file name extension, take your pick, I'm not a filesystem expert), and requires quite a few funny mount options to make the file actually readable.

    And Windows, which I don't use these days a whole lot but ocassionally still need to, seems to still have funny ideas about MYSTERIOUS spontaneous Capitalizations and other WEIRDD~1 stuff, though it's almost getting in control in new operating systems after getting introduced over a decade ago. Some oddnesses can still be seen every now and then.

  102. Re:Who gives a shit that linux supports long names by SanityInAnarchy · · Score: 1

    And we complain that Windows is bloated? Linux (as an OS) now includes not only a web browser but an office suite, and IM client, development tools, and everything else we could want?

    Generally, by "pieces of the OS", we're talking about stuff in /bin and /lib. And generally, I can install packages -- not manually, but by choice -- to /usr. The difference between /usr and /usr/local has to do with a package manager, which doesn't really have a decent equivalent on Windows.

    --
    Don't thank God, thank a doctor!
  103. max path lengths are different by gnuman99 · · Score: 1

    Since I'll take your "I RTFA" summary as fact since "I haven't RTFA". There is at least one huge difference between Linux FS like ext2 or ext3 and Windows NTFS or FAT. Windows does not support paths longer than 256 (or 512?) characters. Once you hit that limit, the path is not accessible.

    The scenerio is painfully obvious when you use something like GNU Arch (tla) under windows. It doesn't work because Windows cannot handle longer paths. Well, actually it CAN handle, but it doesn't thanks to the great backwards compatability. So, you can end up with paths you cannot delete easily. Yes, even in XP with latest updates.

    The only work around in tla is to use the "compatability" or the 8.3 mappings of longer paths. Then your real path is longer than the limit, but your mangled path is shorter and file operations work again.

    So to summerize,
    Windows => long file names, hardcoded limit for paths
    Linux => long file names, FS dependent paths lengths

  104. Or be the * of the show. by b0s0z0ku · · Score: 1
    Wildcards work just as well under cmd.exe. You can do cd pr*\mic* for example...

    -b.

  105. Re:WRONG. I spy a switcher! by D-Fens · · Score: 1
    real Mac user: someone true to who they are, the misfits, the rebels, the troublemakers, the round pegs in the square holes. The ones who see things differently. They're not fond of rules and they have no respect for the status quo. The ones who are crazy enough to think that they can change the world.


    You forgot about the ability to regurgitate the latest marketing spiel.
  106. Re:Who gives a shit that linux supports long names by mrchaotica · · Score: 1
    And we complain that Windows is bloated? Linux (as an OS) now includes not only a web browser but an office suite, and IM client, development tools, and everything else we could want?

    Package managers can uninstall programs too. ; )

    Generally, by "pieces of the OS", we're talking about stuff in /bin and /lib. And generally, I can install packages -- not manually, but by choice -- to /usr. The difference between /usr and /usr/local has to do with a package manager, which doesn't really have a decent equivalent on Windows.

    That's a valid point of view as well.

    --

    "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

  107. Thank god for copy & paste by dbcad7 · · Score: 1
    I'm just glad that there are terminals that support copy & paste in Linux now..
    a file like.. kernel-image-2.2.14_Custom.1_i386.deb is very descriptive, but a pain to type all that.

    The other thing that annoys me is file names tHat_USe_a_Mixture_oF.cASe especialy in linux where it must be exact.

    --
    waiting for ad.doubleclick.net
    1. Re:Thank god for copy & paste by the_greywolf · · Score: 1

      Bash also has this wonderful feature that is activated by the tab key. A lot of people call it "tab-completion". Use it.

      --
      grey wolf
      LET FORTRAN DIE!
    2. Re:Thank god for copy & paste by dbcad7 · · Score: 1

      Thanks ! Tried it, and now added to my skillset. Please don't shame me anymore by telling me how many years this has been in Bash. I've been using Linux since 95 with Slackware CDs obtained at computer show LA county fairgrounds (the old boot/root floppy method) before bootable Cds. Been great watching Linux advance to what it is today. Am always still learning, so again Thanks !

      --
      waiting for ad.doubleclick.net
  108. Calling Ric Romero! by cashman73 · · Score: 1

    Ric Romero wanted for breaking news story on 'long filenames'! :-)

  109. Bash has its own long filename issues by 93+Escort+Wagon · · Score: 1
    I avoid using spaces in filenames because, well, I'm old and they didn't used to be allowed. But a lot of people use them nowadays, and it can break seemingly simple bash scripts - especially when all you want to do is loop through a list of files matching some parameter.
    for FILE in `ls` ; do
      mv $FILE ./archive/$FILE
    done
    Files with names like "my list.txt" end up being split into "my" and "list.txt", neither of which exists (one would hope).

    I imagine there are workarounds less kludgy than what I end up doing; but really it seems like you shouldn't have to worry about it at all - the spaces should be handled appropriately and automatically.
    --
    #DeleteChrome
    1. Re:Bash has its own long filename issues by Anonymous Coward · · Score: 0

      for file in * ; do .... ; done

    2. Re:Bash has its own long filename issues by the_greywolf · · Score: 1

      Files with names like "my list.txt" end up being split into "my" and "list.txt", neither of which exists (one would hope).

      I imagine there are workarounds less kludgy than what I end up doing; but really it seems like you shouldn't have to worry about it at all - the spaces should be handled appropriately and automatically.

      Well, a few suggestions:

      • Don't use backticks if you can at all help it. Especially don't use `ls`. Instead, use simple globs (i.e., * or blah*.txt or whathaveyou). If you need the flexibility offered by find or the output of ls with a complex set of options, by all means use either the $() or `` syntax. It works for that purpose.
      • Quote carefully. $FILE is simply expanded into the literal string it contains before the whole line is executed. For example, "mv $FILE place/$FILE" becomes "mv a file name place/a file name". Instead, quote it properly: mv "$FILE" "./archive/$FILE"
      • Most importantly:
        man bash

      Your example fixed:

      for f in *; do
      mv "$f" "./archive/$f"
      done

      There are a lot of other fancy things to learn, but at least you can get the simple stuff right now.

      --
      grey wolf
      LET FORTRAN DIE!
    3. Re:Bash has its own long filename issues by grumbel · · Score: 1

      In that simple case 'for i in *' will already help, in more complicated cases something like this will do (assuming here that you want to move all files in a given directory and its subdirectories around):

      find -type f | while read filename; do mv "$filename" ./archive/; done

      Unlike the 'for' solution this will handle spaces and many other characters, it will still barf when it runs into a newline, but better then nothing. The only truly correct solution is:

      find . -type f -exec mv {} ./archive/ \;

      or

      find . -type f -print0 | xargs -0 mv --target-directory ./archive/

      However, using 'find' sadly destroys a bit of the freedom you have with normal bash, thus it gives you less power, but it is the only way that really works with all filenames.

    4. Re:Bash has its own long filename issues by Schraegstrichpunkt · · Score: 1

      I think this works in bash:

      find -type f -print0 | while read -d $'\0' -r filename; do mv "$filename" ./archive/; done
  110. DOS BBS Hax0ring and the by b0s0z0ku · · Score: 1
    When I had an MS-DOS-based BBS (bulletin board system) in the early 90s, someone basically r00t3d it and created a bunch of files on the hard drive with names like "HA HA HA" and "YER FCKD". Took me a while to remove them, since the space character wasn't ASCII 32 (which isn't allowed in DOS filenames) but was ASCII 160 (IIRC, which was allowed). I couldn't just do DEL *.* since there were other important files in that directory.

    -b.

  111. Filename and ms-dos devices restriction by dumouche · · Score: 1

    Try to create con.txt or lpt1.txt on a windows box.... WTF ms-dos devices list: AUX,COM1,COM2,COM3,COM4,CON,LPT1,LPT2,LPT3,NUL

  112. HFS+ Can Be Case Sensitive by Goo.cc · · Score: 1

    The article didn't mention it but there is an option for case sensitive HFS+. I tried it out and it worked as expected.

    The article also mentions the "lowercase-hyphen rule", which I still pretty much employ. I still do it because I dislike quoting filenames on the command line. I also do it to make it easier to pick out file names from directory names, which I always title case, since I don't care for dircolors.

    1. Re:HFS+ Can Be Case Sensitive by Goo.cc · · Score: 1

      Dammit, he does mention it. Nevermind that point.

  113. Use your ID3 tags! by Baloo+Ursidae · · Score: 1

    Why not something more sane like ~/Music/Nine Inch Nails/The Fragile/Right/03-Where is Everybody.ogg and ~/Music/Nine Inch Nails/The Fragile/Right/06-Starfuckers Inc.ogg to begin with and use the ID3 or OGG tag for exactly the use you're trying to squish into a single filename? There isn't an MP3 or Ogg player worth actually owning that can't read the tag, freeing you to use a more portable filename.

    --
    Help us build a better map!
    1. Re:Use your ID3 tags! by zsau · · Score: 1

      My file manager doesn't use MP3 or OGG tags, and until recently when using my computer I've mostly used my file manager to open my music files. (Rhythmbox is now almost good enough that I use it almost all the time ... although for some bizarre reason it won't let you edit the tags, and many of my files are tagless or worse badly tagged because I've rarely ever used the tags.)

      And it doesn't really seem to me that using a file name to record the name of a file is "squishing" something abnormal into it. Strikes me that every character I can't put into a file name is one less than is fair... (I've sometimes been so mad as to wish I could italicise or otherwise change the fonts of parts of filenames!)

      --
      Look out!
    2. Re:Use your ID3 tags! by Baloo+Ursidae · · Score: 1

      Perhaps you should file a bug report with your file manager's developers. KDE can do it, and it's free.

      --
      Help us build a better map!
    3. Re:Use your ID3 tags! by zsau · · Score: 1

      I don't know how KDE does it, but unless it actually shows the ID3 tags instead of the file name in the main display window (with the file name relegated to a properties dialog, or wherever), it would not satisfy me enough that I'd be tempted to stop naming my music files the way I like them named. On the other hand that would be very convenient, but probably better implemented as some sort of a (userspace?) filesystem plugin thingy, so that all programs see it in the same way, and I can just as easily rename=retag files from the command line as from my file manager.

      I'm really quite happy with my current setup, except for the single time (per album) that I copy my music off my hard drive onto my media player, and it's completely not worth switching desktop environment to solve a problem that occurs once every now and again. I wasn't meant to be whingeing. I was just saying "here's what I do" in response to someone who said they did something similar but was, apparently, joking. I also identified some limitations to my approach.

      --
      Look out!
  114. Well, I always missed file extensions in linux by Sark666 · · Score: 1

    I've been using linux for more than a few years now, but one thing I've always wanted is file extensions by default in programs. Too many times I forget to add them manually, it's just I wish the apps did.

    Yes I know linux uses mime types but both can be beneficial. Here's a basic example, I have a dir as many do of various documents, and suppose I typed something in a plain text document a few years back and I just remember a keyword that will probably find it for me. When I do a search in gnome/kde using their respective search tools, it will search all text documents, OO, doc, pdfs etc. If I already know the information is in a text file, it would be nice to be able to put *.txt to speed up the search. Sure this works if I made sure before hand I named the file .txt, but it erks me to always have to remember to add an extension.

    1. Re:Well, I always missed file extensions in linux by Schraegstrichpunkt · · Score: 1

      Linux doesn't have any notion of a "file type" built-in, with the exception of the "execute permission" bits; The filesystem simply maps names to inodes to byte streams. This means that all of the bugs that are associated with file type mapping simply disappear, in most cases.

      You don't want to change that. You may think you do, but you don't. Trust me on this (or go do some more research).

  115. Certain libraries have limitations... by Otto · · Score: 1

    Yes, the filesystem supports gigantic filenames, and yes, quite a lot of Windows supports those big filenames as well.

    However, there's a lot of backward compatibility in the built in libraries, and a lot of this backward compatibility does *not* handle those long paths nicely. What's worse is that by not deprecating a lot of this functionality, most apps written for Windows still use these older calls. It's all tied in with Unicode and all the multi-byte string handling stuff as well.

    This is one reason why developing for Windows kinda sucks, because while it's really easy to pop out a program quickly, it's very difficult to do it right and use only functionality that handles everything new and still maintains backward compatibility as well.

    It doesn't help that a lot of Windows itself is written using the older functionality, thus making some parts handle really long filenames fine and other parts of it... err.. not so fine.

    --
    - Give a man a fire and he's warm for a day, but set him on fire and he's warm for the rest of his life.
  116. Re:Who gives a shit that linux supports long names by anupamsr · · Score: 0
    On windows, well behaved programs go in the aptly named "Program Files"
    A little correction to this. If you are working with localized Windows installation, well behaved programs will go to "Programme", and not-so-well-behaved programs will go to "Program Files".

    I once had this big problem when I was working on a German Windows installation... Winamp going to right place while its plugins going to wrong ones.
    --
    I forgot to be anonymous.
  117. cmd.exe command history menu by DrGalaxy · · Score: 1

    Also, cmd.exe has a command history menu you can pop up by hitting F10 after you have entered a few commands in the window. I don't know if you have to have turned on command completion with TweakUI for this to work or not.

    I never use this feature because Cygwin gives me what I want on Windows.

  118. Alt+255 by AmiMoJo · · Score: 1

    In DOS, ASCII 255 was a legal character for file names. You could type it by holding alt and pressing 255 on the keypad. That way you could get "spaces" in file names, and make them impossible for network admins to delete :)

    --
    const int one = 65536; (Silvermoon, Texture.cs)
    SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
  119. Re:Who gives a shit that linux supports long names by mrchaotica · · Score: 1

    You're absolutely correct; I should have said %PROGRAMFILES%.

    --

    "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

  120. 8.3 Domain Name by Anonymous Coward · · Score: 0

    A company I consulted for was looking to get a domain name back in 1995-96. The president thought domain names had to be constrained to 8.3. They were trying out all sorts of bizarro 8.3 combinations, and eventually settled on one with vowels omitted.

  121. Really, and the point of this article? by TheNetAvenger · · Score: 1

    Really, and the point of this article?

    First it isn't even accurate about what long file names are or how they are used.

    Linux and OS X files have more character(s)

    This actually isn't true, NTFS supports UTF-16 and full Unicode support. Most *nix FS are UTF-8 are they not? And last time I checked, a 16bit Unicode FS, has a LOT more potential characters, and why even Wikipedia uses NTFS as the 'example' of a how a FS should handle Unicode, since NT's design goals for localization were centered around complete Unicode support.

    Secondly, it improperly states that NTFS cannot be case sensitive. By default, NTFS is not case sensitive for the Windows subsystem, but it can be enabled, also the *nix subsystems that run on NT can and usually are case sensitive to comply with the *nix subsystem conventions.

    Third, people paint long filenames as bad thing or something to be used sparingly, but with the search tools and command like tools, even in OSes like XP and OSX, using long filenames has no significant difference to a short filename that does not outweigh the ambiguous nature of using shorter filenames.

    And even with all the incorrect information, this article explains or teaches what? Nothing...

  122. Not just Filenames are problematic, but Paths... by MarkyGoldstein · · Score: 1

    We are a company that runs on Linux, Mac and Windows. We are having trouble sending Links in E-Mails that can be clicked on and that link to files in the Network... This is due to differences between Linux, Mac and Windows Network File Paths. Standardization here is really important! What do you know about this?

  123. Re:I RTFA but not complete... by kandresen · · Score: 1

    The article is far from complete in terms of the frictions between them... It might be right for the English speaking, but try to include latin characters etc...

    Even though both Mac OS X and newer versions of linux use UTF-8 characters for filesystem names, the conversion break without external 3rd party tools. This is due to the UTF-8 on Linux being in normal form C whereas Mac uses their own Normal form D... So the problem goes far beyond mere regular letter problems...

    For more info: http://j3e.de/linux/convmv/man/

  124. Long filenames forever by sinack69 · · Score: 0

    Long.File.Names.Like.This.Remind.Me.Of.Doing.A.Sim ple.Task.In.Java

    --
    http://www.thirdrake.com - Best Webcomic of all time.
  125. VFAT directory entries could be up to 819 chars by Anonymous Coward · · Score: 0

    While Windows95 never supported anything beyond 255 characters, the VFAT directory entries could technically be a bit larger. The LFNs were present additionally to every standard 8.3 directory entry (32 bytes each), and were made up of blocks with 13 characters in each (UCS2 or UTF16). Additionally each block had an index number of which only 6 bits were allowed to be used (1..63 IIRC, check 'Interrupt List'), and therefore yields 63 x 13 = 819 characters for the long filename version.
    http://en.wikipedia.org/wiki/File_Allocation_Table #Directory_table

  126. One man's non-printable is another man's printable by Anonymous Coward · · Score: 0

    > You can also use non-printable characters in a file name, but I can't think of a good reason to do so.

    Maybe because you live in an English-speaking country, and other people don't.

    Nice article. Keep writing articles, and don't write any software, especially software for international users.

  127. Of MIME-Types and Metadata by Kelson · · Score: 1
    Mime-types fail due to not being actually encoded on-filesystem

    That's what meta-data is for. While I'm not a big fan of Mac OS Classic, this is one thing they did right: storing the file type in the file metadata (like the modification time, access time, and read/write permissions), instead of in the name.

    I always felt it was too bad that OS X dropped the creator/owner types in favor of filename extensions, though I understand it was probably a good move from a compatibility standpoint. (That, and moving away from the resource/data fork model, made it much easier to transfer files among Windows, Mac, and *nix computers.) It felt like a step backward, though -- it would have been better in the long run if Windows and various Unix-like operating systems (and the filesystems they use) had added filetype metadata, rather than Mac OS dropping it.

  128. How to Kill the Evil Tilde by Reziac · · Score: 1

    You can kill the evil tilde with this small registry hack:

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Contro l\FileSystem\NameNumericTail = hex:00

    (that's all one line, and beware of any /. added spaces other than those around the = sign)

    I do this on all my WinBoxen, because otherwise Windows fucks up my DOS filenames.

    BTW, as several note below, DOS (and for that matter Windows) couldn't care less if a filename omits the .3 extension entirely.

    As to files that wind up named "something.jpg.jpg" and the like, that's an application misbehaviour, not a Windows issue. It can happen two ways:

    Frex, if I save use Netscape to save a file that is named "something.htm" on the website, NS preserves the filename exactly. But Mozilla renames the file "something.htm.html" whether I like it or not, and it does this even tho .html is NOT associated with Mozilla.

    The other way it can happen is if the app isn't smart enough to check whether the user is typing in a recognised extension that is correct for the filetype, and/or whether the file already has an extension, so the app just blindly adds it.

    As an example of more-intelligent behaviour, if I name a file "something.jpg" in Corel PhotoPaint, and save it as a JPG, PhotoPaint is smart enough NOT to tack on yet another .jpg extension. However, if I omit the extension when I type the name, then it will add the correct one for the filetype. So a JPG never winds up named either just "something" with no extension, nor "something.jpg.jpg.jpg".

    --
    ~REZ~ #43301. Who'd fake being me anyway?
  129. Wrong about utf-8 by spitzak · · Score: 2, Insightful

    Despite your naive assumption that something with "16" in it's name is better than something with "8", the facts are that UTF-16 cannot handle as many characters:

    UTF-16 as originally designed handles 0xffff characters.

    Because that was not enough characters, UTF-16 was modified to have "surrogate pairs". Usually claimed to now handle 0x10ffff characters, but in fact they fail to subtract the surrogate half-characters (0x800). Also this deleted the only plausable claim that UTF-16 is better than UTF-8, in that characters all are the same number of bytes long (it is in fact worse, because the variable-length characters are much more rare, so bugs in handling them are much less likely to be detected and thus more catostrophic when they do happen).

    UTF-8 as originally designed handles 0x7fffffff characters.

    Because of the UTF-16 braindamage, the standards for UTF-8 were modified to say that all encodings after 0x10ffff are illegal, so literally UTF-8 was downgraded to match UTF-16. It still is false to say that you can losslessly translate from UTF-8 to UTF-16, due to the surrogate pairs, so they are not equivalent even with this limitation.

    The one positive benifit of the "Unix wars" was that it stopped a whole lot of politically-correct idiots from forcing "wide characters" on everybody, and thus Plan9's UTF-8 could take hold. Unfortunatly Microsoft completely ignored all the proof that wide characters were a very bad idea and went and did it themselves in Windows. Still not as bad as if Unix had done it too...

    1. Re:Wrong about utf-8 by TheNetAvenger · · Score: 1

      You seem knowledgeable, most of the responses anymore are people that only know Wikipedia or fact sheets from a Linux vendor site.

      You write with such knowledge, but everything you write is from a very biased western character set perspective, which is also something that is still way to strong in the *nix doctrine.

      Yes UTF-8 can be more efficient with text that has many ASCII conunterparts since it mimics ASCII's code set.

      Surrogate pairs - I know you disagree, but I will assert, they ARE important, think outside western character sets and western thinking, go to Asian scripts for a minute for perspective on this.

      Surrogate pairs ARE needed and this is why true Unicode buff will explain that UTF-8 is considered a 'quick' hack to implement 'MOST' of Unicode, but not a complete handling of Unicode.

      Additionally, the unicode standard DICTATES that all true Unicode implementations understand and handle Surrogate pairs. UTF-8 was great for our period in history with bandwidth considerations and the predominance of English on the Internet; however, when doing 'real world' Unicode support, by NOT supporting at least USC-2 or UTF-16, it is a bastardization of Unicode.

      There are a few other important items you are skipping, other than your western character set bias. When it comes to actually 'processing' Unicode (encode/decode), because of the nature of the x86 architecture, for performance of large text you USE UTF-16, which now even applies to OSX.

      UTF-16 is just an extension of UCS-2 that adds in variable lengths. UTF-8 is a way to get Unicode characters, but at the cost of non-western character sets.

      Another note of performance and considerations for localization, UTF-8 can be made to work in Asian markets, but there are hacks to get around the vast character sets and pairing.

      Additionally, because of how UTF-8 stores Asian characters, UTF-16 is far more efficient and the 'proper' direction for handling Unicode. UTF-32 is the next progression, but it is still somewhat debatable how supportable the added benefits will ever be over a simple 16bit Unicode system like UTF-16.

      You also act like MS made a mistake with USC-2 and UTF-16 implementations in their OSes, yet according to Unicode standards, they are the only main OS meeting the standards as defined and required for Asian characters. Isn't the open source world always yelling at MS for not FULLY complying with 'real' standards, yet MS is the only main OS vendor doing this with regard to Unicode... (I think Sun also pushes UTF-16, at least JAVA does.)

      Like you say, sure UTF-16 is not as easy to code for as UTF-8 because of the byte order corruption that could occur, but I could also say that it is easier to just use plain ASCII because of less complexity as well, that doesn't mean that either meets the needs or functions as well as UTF-16.

      MS also made a smart choice with UTF-16 because of its performance considerations in handling large amounts of data. UTF-16, unlike UTF-8, can be encoded for little-endian or big-endian depending on the target platform. (UTF-8 is big-endian.)

      This is also very IMPORTANT when you consider that the MAJORITY of PCs out there are Intel or x86 based and use little-endian byte order. This gives UTF-16 not only an advantage in Asian text but also on the most common computing platform in the world, it also gets an additional performance edge.

      So I'm not sure how this post turned into a 'lecture' on Unicode or why you easily buy into the UTF-8 is best because it is easy and fast because of its ASCII heritage. I do know this is a common myth in the *nix world, which is a little weird because of the 'open' nature of most *nixes and localization and non-western support should be a bit more important. Also since *nix has moved to the Intel and x86 realm in the past 10 years, it surprises me that the UTF-16 wouldn't have been adopted just for the performance gain of the little-eidian nature of the platform. Also what happens when Unicode standards f

    2. Re:Wrong about utf-8 by Schraegstrichpunkt · · Score: 1

      Your entire rant seems to hinge on the notions that UTF-8 can't represent every possible Unicode character, and that every bit of code that ever processes text will should know about the Unicode spec. The first notion is wrong, and the second notion is bad for both security and speed.

      As for storage efficiency of UTF-8 for non-Western character sets, ever heard of RFC 1951? I suggest you read it. As for internal representation of characters inside programs, you're free to use whatever you want.

    3. Re:Wrong about utf-8 by spitzak · · Score: 1

      I'm sorry, but you are the one that is confused. I'm not sure exactly what you are thinking, so I will try to correct this as well as I can:

      UTF-8 was *ALWAYS* designed to encode far more than 64k characters. It was originally designed to go up to 0x7fffffff, but was cut down in the official standard at the same time UTF-16 was invented. The character 0x10ffff is encoded using 4 bytes, which happens to be the same length that UTF-16 requires. Here is a chart to make sure we are talking about the same thing:

      (damn lameness filter probably means this is unreadable!)


      UTF-8
            0000 - 007F = 0abcdefg
            0080 - 07FF = 110abcde 10fghijk
            0800 - FFFF = 1110abcd 10efghij 10klmnop
          10000-10FFFF = 11110abc 10defghi 10jklmno 10pqrstu

      UTF-16
            0000 - 007F = 00000000 0abcdefg
            0080 - 07FF = 00000abc defghijk
            0800 - FFFF = abcdefgh ijklmnop
          10000-10FFFF = 110110ab cdefghij 110111kl mnopqrst (y=x-0x1000)


      It is possible you are also confused by thinking that UTF-8 uses 6 bytes to do codes greater than 0xffff. This is in fact a problem with UTF-16 and stupid converters that don't understand UTF-16 surrogate pairs. These converters are BROKEN and in fact this is the fault of UTF-16 and stupid programmers, not a problem with UTF-8.

      I'm also wondering if perhaps you are confusing UTF-16 with UTF-32 (or UCS-4 which is the same). That is to encode each character as a 4-byte word, which is the only practical way to make all of Unicode have the same number of bits per character. It is true that most processing of characters strings, especially to render them, passes through such a stage, since it is trivial to translate to glyphs. However nobody in their right mind would use that as a storage or transmission format. I also think this is misleading, as "combining characters" and more complex layout rules means that more than one code can really turn into a single glyph, and that we would be much better off if the programmers tried to work with variable-length encoding from the start, so they don't have to change gears so drastically when they suddenly run into variable-length layout rules.

      I'm also wondering if perhaps you are confising UTF-8 with "8 bits per character", which obviously cannot store more than 256 characters.

      UTF-16 is very misleading since there is a temptation to treat it as though each word is a glyph like UTF-32. This seems to be what you are thinking, and that is wrong. I do find it annoying that you are saying I have a "western bias" when in fact your ideas are the ones that make all the Chinese characters not work!

    4. Re:Wrong about utf-8 by TheNetAvenger · · Score: 1

      Ok, I'm skipping the first part of your article to respond to because I understand the storage and the capabilities of both UTF-8 and UTF-16, and what I am saying has nothing to do with even a 64K limit.

      Both UTF-8 and UTF-16 are variable length if needed and can support characters far beyond a 16bit characterset. I think most people know this. Although by your statements, you seem to think UTF-16 is fixed, when it is also variable (a lot of people don't know this about UTF-16 though, so that is ok.)

      I'm also wondering if perhaps you are confising UTF-8 with "8 bits per character", which obviously cannot store more than 256 characters.

      UTF-16 is very misleading since there is a temptation to treat it as though each word is a glyph like UTF-32. This seems to be what you are thinking, and that is wrong. I do find it annoying that you are saying I have a "western bias" when in fact your ideas are the ones that make all the Chinese characters not work!


      If this is what you are still seeing after reading my entire post then either I am not communicating well or you are failing to comprehend.

      So you are saying that with UTF-16, that Chinese characters wil not work? Really?

      So you are saying that UTF-8 is the 'accepted' standard, and yet in my work with foreing localization, many Asian speaking people would like to stick the UTF-8 in a place I care not to say.

      UTF-16 is an extension of USC-2 and there is a 'reason' it was created, it does support 'language characters' and constructs taht UTF-8 does not, and it is far more efficient for Asian characters. It is also more efficient in handling western character sets because it is not restricted to big-eidian like UTF-8 is. (Since UTF-16 can go 'both ways' in this regard you would think it would be the natural choice for any OS that is multi-platform.

      I really don't have time to fully explain this to you, and I suggest you do a bit more reasearch about language and the reasons behind the Unicdoe specifications that require 'surrogate pairs' and why UTF-16 is a long term Unicode solution and goal, and UTF-8 was bascially only allowed because of its efficiency in 'transmitting' western character sets because of the byte store size the ASCII correlation.

      You aren't stupid on this subject, but there is a 'bigger' picture you are missing, and I feel sorry I don't have the time to fully articulate it and provide the links to help you with this.

      Here is a hint to get you started, other languages 'glyph' pariing creates new characters that have no relation to the meaning of the single characters that are paired... In UTF-8 this is lost.. Also go look up more on UTF-8 storage in regard to Asian scripts, and see how it become less efficient than UTF-16.

      Heck even go to the standards pages and read their view points on this stuff, I remember they used to have quite a resource with regard to language character sets and why and what portions of Unicode implmentations worked.

      If you continue to assert that UTF-8 is BETTER than UTF-16, then you have an entire Unicode Standards body that very much DISAGREES with you. UTF-8 was quick, dirty and 'allowed' but because it lacks full Unicode concepts in support, it is just a transition encoding, period.

    5. Re:Wrong about utf-8 by spitzak · · Score: 1

      Okay, I REALLY am stumped as to what you are thinking.

      My new theory is that you think "UTF-8" is what I would call UCS-2, which is a 2-byte/character encoding. This would explain your claim that UTF-8 is "restricted to big-endian" which otherwise makes no sense. UCS-2 is what Microsoft originally used, and also what Sun and all the other idiots tried to force on us. I fully agree that UCS-2 is a bad idea!

      UTF-8 uses from 1 to 4 *BYTES* per character and is not effected by endianess at all. UTF-8 has ALWAYS encoded every single position in Unicode, including every single one that requires surrogate pairs in UTF-16, and the original spec encoded character indexes up to 0x7fffffff, and that requirement was truncated to the limited range of UTF-16.

      UTF-16 can be LOSSLESSLY translated to UTF-8. Therefore it is physically impossible that UTF-16 can provide any more functionality than UTF-8. There are no "glyph pairings" or anything else that can be done in UTF-16 that is "lost" in UTF-8.

      The codes 0x800 through 0xffff do take 3 bytes in UTF-8 and only take 2 in UTF-16. However any real Chinese text will have enough spaces, numbers, and control characters (which only take 1 byte in UTF-8) to more than make up for this, and in fact real world texts are always shorter in UTF-8 in all languages. Comparing length is irrelevant anyway, as compression will make all encodings about equal in size.

  130. Kill Tildes Dead by Reziac · · Score: 1

    No, as the reply says, the 2nd installed will be ~2. It doesn't change them after the fact.

    However, you can kill this nasty behaviour entirely with the nonumerictail registry hack, which I repeat from my post above:

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Contro l\FileSystem\NameNumericTail = hex:00

    (beware of the /. space in what should be "control" -- clearly /. needs a "no space added" hack!)

    This will NOT affect existing tilde'd filenames. And it works fine on all my WinBoxen, most of which also run DOS apps.

    --
    ~REZ~ #43301. Who'd fake being me anyway?
  131. case insensitivity is a bad idea by m874t232 · · Score: 1

    Case insensitivity seems like a nice, useful feature. But, in the end, it causes more harm than good: "case" is a rather odd concept, limited to certain languages, and even within those, often not well defined. In English, you can sort of get away with it. In other languages using the Latin alphabet, changes in capitalization may change the spelling of a word, and which upper and lower case characters correspond to one another are language dependent. On the other hand, in languages other than English (and to a lesser degree even in English), upper and lower case characters really do convey different meanings. "White House" means something different from "white house", and even sounds different. And different systems may mean different and incompatible things by "case insensitivity", since there is no single well-defined standard.

    Altogether, that's a Pandora's box that's not worth opening: what looked like a simple use-friendly feature, case insensitivity, turns into a localization nightmare that's even harder to explain to users than case sensitive file names.

    Case sensitive file systems are the right way to go; UNIX got it right, Macintosh and Windows got it wrong. The usability benefits are slight, and the usability pitfalls and resulting system complexity are huge. For programming languages, this issue has largely been settled a couple of decades ago. It's time we get rid of case insensitivity in file systems as well.

    1. Re:case insensitivity is a bad idea by petermgreen · · Score: 1

      i'm english so i don't really care about case rules for foriegn languages but i can see how they could be a pain, i'm generally of the school of thought that says filenames should be restricted to ASCII.

      the fact that many users of case sensitive systems resort to all lowercase to avoid the problems of case sensitivity tell me that its usability effect is anything but slight. You try to note down a URL with significant mixed case (say something interesting you found while using a public terminal to fill in time or something a friend has just shown you), unless your handwriting is very neat and you have a good writing surface its going to be tricky.

      of course whats worse than either case sensitivity or case insensitivity is having to deal with both. Your code builds fine on windows but when you go to compile it on linux you find the case is all wrong, similarlly (though nowhere near as common) your code builds fine on linux but when you try and extract it on a windows box files extract over the top of each other.

      as for programming languages i think that has more to do with the dominance of C than with the actual pros and cons of case sensitivity.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    2. Re:case insensitivity is a bad idea by m874t232 · · Score: 1

      i'm english

      I'm sorry.

      i'm generally of the school of thought that says filenames should be restricted to ASCII.

      You would be (see above). However, unlike case sensitivity, restricting file names to ASCII does cause big usability problems for non-English users.

      the fact that many users of case sensitive systems resort to all lowercase to avoid the problems of case sensitivity tell me that its usability effect is anything but slight.

      The fact that many users do just that shows you that they have a simple workaround: avoid upper case in languages where it makes sense.

      as for programming languages i think that has more to do with the dominance of C than with the actual pros and cons of case sensitivity.

      The dominance of C and its case sensitivity are both consequences of a successful, minimalistic approach to system design. The Macintosh and Windows file system design are still full of well-meaning but inept remnants of unsuccessful designs.

  132. I'm sorry but... by Ayanami+Rei · · Score: 4, Informative

    ...you suck at scripting.

    Typical shell scripting idioms like:

    for $each in *glob.pattern* ; do
        command "$each"
        mv "$each" "$(echo \"$each\" | sed -e s/stuff/replace)" ...
    done

    The only extra quoting necessary is in commands with variable substitution. And (while it may seem confusing), that syntax works even when the filenames have quotes internally. The double quotes identifies the contents to be treated as a single token with interpolation to be performed before passing on to ``command'', which is what you wanted.

    Also the $() syntax is your friend. But remember to give it ""s too, you don't want it to expand it AND THEN tokenize it.

    --
    THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON
    1. Re:I'm sorry but... by strider44 · · Score: 3, Informative
      rename "s/stuff/replace/" *
      is much easier I think.
    2. Re:I'm sorry but... by Anonymous Coward · · Score: 0

      PWNT.

  133. BTOS/CTOS had long filenames in the 80s by Anonymous Coward · · Score: 0

    Convergent Technology's BTOS system had long filenames *way* before any of the three operating systems mentioned here...

    but_a_long_filename_was_a_real_freaking_pain_to_us e

  134. slow news day? by Synonymous+Bosch · · Score: 1
    I actually clicked on this one with genuine interest; as a practical matter, I have trouble with this all the time in my work life because I support windows, unix and mac systems in server and workstations capacity, with files moving between in archived and non archived forms.

    Needless to say filename issues are a frequent pain in the balls.

    You have a SAMBA share containing 2,500 Windows profiles, you write a bash script to move them from one disk nearing capacity to a newly installed redundant volume with adequate capacity.

    How many folders do you think you will find named "user.name's pictures"?

    Different naming standards in different platforms is only slow news material if you're not nerdy enough ;)

  135. MOD PARENT DOWN by petermgreen · · Score: 1

    1. the requirement the ".3" portion be satisfied, i.e., if you didn't give a ".3" extension, it wasn't valid.
    untrue you could have files without an extention under plain dos.

    2. the semantic mapping of the extension to filetype, WTF?
    so they made the filetype part of the name so you could have identically named files of different types (e.g. the source and the binary of an app), seems sensible enough to me.

    3. the implied (don't remember if it was canonical) semantic that no ".3" extension meant the file was a directory
    directories were identified by a seperate attribute, as i said above you could have an extentionless file, you could also have a directory with an extention (though it was rare)

    4. the case insensitive nature of file names
    very much a personal preference thing this.

    --
    note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
  136. Re:safe most of the time by Anonymous Coward · · Score: 0

    Hey cool, I do this to:

    Wanna be safe most of the time:
    1) No spaces
    2) Under 32 character filenames
    3) Alphanumeric, underscore, period, or hyphen ONLY
    4) Only a single period allowed.

    5) must start with an Alphanumeric
    6) not more than a single underscore, period, or hypen at a time in the series of characters. ie.: "poorly--named"

  137. MAX_PATH can be worked around by Anonymous Coward · · Score: 0

    Windows is very funny when long directories and long filenames are used. However NTFS is able to handle up to 32k+ characters. I recently had to write a program to backup files with long names and deeply nested directories that were stored on a windows server. In windows the filenames and folders would never have been allowed but because the PC's saving the files to the server were running OS X they had no problems creating the files. my backups kept failing when traversing the deeply nested directories. I had to work around the problem by creating A network share to the folder I was backing up. then back up the files via the share. It worked great except for a small problem that SMB shares can only be up to 255 chars long. This effectively gave me up to 500+ characters of path. Fortunately it was enough to allow my program to backup the files. however I did have to lay down some rules for the OS X users to limit their directory depth.

  138. Linux Is Dying by Anonymous Coward · · Score: 0

    It is official; Netcraft confirms: Linux is dying

    One more crippling bombshell hit the already beleaguered Linux community when IDC confirmed that Linux market share has dropped yet again, now down to less than a fraction of 1 percent of all servers. Coming on the heels of a recent Netcraft survey which plainly states that Linux has lost more market share, this news serves to reinforce what we've known all along. Linux is collapsing in complete disarray, as fittingly exemplified by failing dead last in the recent Sys Admin comprehensive networking test.

    You don't need to be a Kreskin to predict Linux's future. The hand writing is on the wall: Linux faces a bleak future. In fact there won't be any future at all for Linux because Linux is dying. Things are looking very bad for Linux. As many of us are already aware, Linux continues to lose market share. Red ink flows like a river of blood.

    Ubuntu is the most endangered of them all, having lost 93% of its core developers. The sudden and unpleasant departures of long time Ubuntu developers only serve to underscore the point more clearly. There can no longer be any doubt: Ubuntu is dying.

    All major surveys show that Linux has steadily declined in market share. Linux is very sick and its long term survival prospects are very dim. If Linux is to survive at all it will be among OS dilettante dabblers. Linux continues to decay. Nothing short of a miracle could save it at this point in time. For all practical purposes, Linux is dead.

    Fact: Linux is dying

  139. Re:Any way to turn off Joliet support in Windows X by maxume · · Score: 1

    Try IsoBuster. It can usually read at least some stuff from a corrupted cd, if not everything. Googling for it works fine.

    --
    Nerd rage is the funniest rage.
  140. Preceeding and trailing spaces. by Macdude · · Score: 1

    HFS+ also allows leading and trailing spaces, for example you can have a file named " filename" or "filename "

    And I got into trouble the other day mounting a volume from my PC on my Mac and creating a folder named "Misc." There was no problem accessing it on the Mac but Windows choked on it every time. I had to remount the volume on the Mac and rename it to get at the files inside it.

    --
    "Grab them by the pussy" -- President of the United States of America
  141. TFA is wrong. by dannycim · · Score: 1

    TFA states, very early, Linux file names can be up to 255 characters long, and that's where I stopped reading it.

    Um...

    B$ uname -a
    Linux ganymede 2.4.21 #13 Sun Aug 17 10:31:38 EDT 2003 i686 i686 i386 GNU/Linux
    B$ rm *
    B$ touch `seq -w 1 200|tr "\n" "_"`
    B$ ls |wc -l
                1
    B$ ls |wc -c
            801

    One file, 800 character. I'd have posted the output of ls -l, but the slashdot lameness filter exploded.

    Depends on the filesystem used.

  142. well..... by ce33na66 · · Score: 2, Insightful

    Long file names in windows is kinda hokey. If you are at the command line, then you are stuck with the 8.3 format. Ending a directory name in "~1" is not my idea of long file name support.

  143. sed -e 's/[[:space:]]/?/g' -e 's/\[/?/g' by Anonymous Coward · · Score: 0
    Just put
    sed -e 's/[[:space:]]/?/g' -e 's/\[/?/g'

    in a shell script and pipe to it.

    The 2nd -e is useful with left-hand brackets.

  144. Windows path length is 32K. by swmccracken · · Score: 1

    Except that it's no longer true. Windows itself is limited to 32,000 (or thereabouts) unicode characters, it's just the ANSI (instead of Unicode) Win32 file I/O functions are limited to 255 characters. See this, for the docs. (Okay, it's a little murky quite where the limits are - but certainly the NT Kernel and NTFS don't have this limitation; the Win32 layer may have it still, especially in the older API calls.)

    Because you have to use the Unicode API instead of the ANSI API, there is varying support for long paths among windows programs. As an example, the version of Robocopy distributed with the Windows 2000 resource kit is limited to 255 character paths, but the version distributed with the Windows 2003 is limited to 32k paths.

    1. Re:Windows path length is 32K. by Anonymous Coward · · Score: 0

      Apparently, things change when you do not pay attention. Thanx for the update.

  145. Re:I RTFA but not complete... by Guy+Harris · · Score: 1
    Mac uses their own Normal form D

    It's not "their own" in the sense of not being part of the Unicode standard; both forms C and D are part of the standard. Mac OS X happens to be the only system I know of that uses form D, however.

    For more info: http://j3e.de/linux/convmv/man/

    Note that when the man page in question says that Darwin prevents the creation of files with names that aren't valid form D UTF-8 strings "at filesystem layer", "filesystem layer" refers to HFS+, not to the VFS layer; you can create files with names that aren't valid form D UTF-8 strings on UFS, for example. Also, attempts to create files with form C UTF-8 names on HFS+ will, as far as I know, be treated as attempts to create files with the equivalent form D UTF-8 names. The SMB client assumes UTF-8 file names and converts them to form C UTF-16 names over the wire, as that's what Windows prefers; VFAT and NTFS might do the same. The NFS client doesn't care - it just passes the bytes over the wire; what gets done with those bytes is up to the server.

  146. .Net and descriptive filenames by Anonymous Coward · · Score: 0

    Microsoft's .Net Framework uses descriptive filenames (ie: Microsoft.DirectX.Direct3DX.dll), and it's encouraged for all assemblies made by third parties, since the output filename defaults to the assemblies' namespace.

  147. Lucky You if You don't have Problems. by twitter · · Score: 1
    For those of you who haven't read it, here it is: Windows, Linux and Mac OS X all support long file names, albeit differently. Linux is case sensitive, the others are not.

    Sure, that's good enough as long as you don't ever have to touch either OSX or Windows. In that case, you don't have to worry about the restrictions, sometimes pathetic, of those systems. If you are not so lucky and don't read the rest of that single almost advert free page, you might bone your finder with the wrong characters or blow pass the windoze 256 path + name length limit. This advice is worth following:

    For maximum portability, avoid using characters that are illegal in any of the operating systems.

    His follow up advice about spaces is also worth while.

    --

    Friends don't help friends install M$ junk.

    1. Re:Lucky You if You don't have Problems. by jb.hl.com · · Score: 1

      the windoze 256 path + name length limit

      Name length perhaps. Path, no. If that were the case, lots of people with large, comprehensively organised music collections (among other things) would be fucked.

      --
      By summer it was all gone...now shesmovedon. --
    2. Re:Lucky You if You don't have Problems. by dedazo · · Score: 1
      the windoze 256 path + name length limit
      Twitter, you are absolutely amazing. Why don't you go read this, gain some basic knowledge about the topic and come back to us, OK? I'm sure there are a lot of people who would like to see you take back your pointless insulting FUD. Thanks!
      --
      Web2.0: I love when people Flickr my cuil and digg my boingboing until my google is reddit and I start to yahoo
  148. That was an simple example. by Ayanami+Rei · · Score: 1

    n/t

    --
    THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON
  149. Re:Does someone have a problem or two? by Schraegstrichpunkt · · Score: 1

    Yes. If you're a Slashdot reader, and you haven't figured out why people complain about Windows so much, then there's really nothing more that can be said to you.

  150. Re:Tagging by Schraegstrichpunkt · · Score: 1

    Alternate Data Streams are good place for file managers to cache their metadata about a file, since if the file is moved, the metadata moves with it, and if the file is deleted, so is the metadata. Does Explorer actually use ADS this way? I don't know.

  151. Fixing spaces in filenames by Ed+Avis · · Score: 1

    I have a poky script nsra to automatically rename spaces to underscores in every filename under the current directory. The companion script lcra renames README.TXT to readme.txt, etc, but leaves mixed-case filenames alone.

    --
    -- Ed Avis ed@membled.com
  152. Macs give up too easy when copying long filenames by celerityfm · · Score: 1

    All this and not one complaint about the fact that OS X gives up too quickly when copying filenames too long for Windows over to a Windows share? I was hoping someone would post about this so I could see someone reply with a solution because I have yet to find one :(

    The problem is that if you are copying a large number of files to a Windows share from a Mac and ONE of those files has too many characters for Windows then OS X gives up on the copying without giving you the opportunity to skip the file with the invalid name.

    Has anyone found a solution? I would definitely be happy to have the option to skip files with long names and be able to continue copying the group of files I need. Bonus points if afterwards you get a report of the files that didn't copy so you can possibly rename them and copy them afterwards.

    --
    ...unfortunately no one can be told what The Mat^H^H^HGoatse is...they must experience it for themselves...
  153. Ooh, ooh - I just saw it ... by jc42 · · Score: 1

    Tell me honestly, when was the last time you actually saw 2 files in the same directory distinguished only by capitalization?

    Well, I don't recall the exact date, but it was within the last few days. ;-)

    The files were in a site dealing with European classical music. In most of Europe, it's common to use case to indicate major/minor keys. Thus "Sonata in D" and "Sonata in d" mean D major and D minor, respectively. The files I saw had names like "Sonate_D.mp3" and "Sonate_d.mp3". This is an imminently sensible way for a European classical musician to name files, because it matches exactly their standard notation for such things.

    (Actually, you'd usually want a few more characters, since some composers wrote more than one sonata in D or d, but you get the idea. ;-)

    Now, you can say that this is a stupid way to name things, and you might be right. But musicians have never been known for intelligent notation. And as a programmer who deals with a lot of network issues involving people who don't always speak English too well, my reply is "It's not my job to tell people that their language is wrong; it's my job to implement things that work the way my users expect". In the above case, some musicians gave the files the obvious names, and it Just Worked. They didn't have to figure out why one of their files mysteriously disappeared, and the remaining file contained the wrong sonata.

    Since there are a lot of uses of case distinctions in many languages, I'd prefer that my software implement the case distinctions that my customers are comfortable with. And if I'm making a decision on what to run on a server, I'm going to choose a system that doesn't impose a particular case policy on me. This is one of many reasons I'd choose linux or *BSD or Solaris for a server, but not OSX or MS-Windows. I don't need the hassle of an OS that imposes such policy decisions on me, contrary to what I know makes sense to my users. Yes, I can find a workaround, but why should I waste the time?

    It's easy enough to come up with reasons that an English-speaking user might want to use case distinctions. Around here, we all know that "apple" and "Apple" mean different things (and one is a trademark so you'd better not misuse it ;-). You don't necessarily need to make this distinction in file names, but it's a lot more convenient if you can. Thus, if I make a directory containing definitions of terms, it would be handy if I could have both "apple.html" and "Apple.html". Granted, I don't need to have this, and I can always program around it. But forbidding me to use such file names just puts one more silly barrier in the way of Getting The Job Done, and adds to my frustration level. It's one more things that tells me that I should stick to a real unix-like system that doesn't throw such gratuitous stumbling blocks in my path.

    The unix world has long had a mantra: The OS implements mechanisms, not policies. Case (in)sensitivity is a policy, not a mechanism. As such, it properly belongs in the runtime libraries, where different groups of users can easily implement their own policies. It doesn't belong in the OS kernel, where a policy is imposed on all software and is very difficult to override if it's wrong for your application.

    This was a very good design decision back in the 1970s, and it's still a good design. At least if you want to keep your programmers sane, and help them implement user-friendly apps. The kernel should treat a file name as a string of bytes, and not impose any interpretations or policies on what those bytes may contain. (The unix use of '/' is in fact a minor annoyance here, which I sometimes really wish Ken and Dennis hadn't done. But I understand the practical reasons why they did it, so I forgive them. ;-)

    Of course, part of the issue here is that Microsoft and Apple have long thought that it is their job to impose policies on their developers. This isn't real

    --
    Those who do study history are doomed to stand helplessly by while everyone else repeats it.
    1. Re:Ooh, ooh - I just saw it ... by jez9999 · · Score: 1

      Those who approve of top-down policy making will support the MS/Apple approach; those who prefer versatility and experimentation will support the unix approach. There's no logical resolution to this, as it's not a logical issue.

      No, I support the latter, but I still think the underlying filesystem is far more sensibly designed if it's case-insensitive.

      And OSes do impose policy decisions on you, no matter what, and it's unavoidable. It's necessary to get a sane system. They impose memory management algorithms on you, device driver framework on you, and (to some degree) licencing requirements on you; and I'm sure those are just the tip of the iceberg. The only way to avoid these 'imposed restrictions' would be to code your own operating system.

      What is more, what I'm suggesting isn't forcing stuff on you, because you can change the FS that Linux uses. I am definitely saying, however, that major Linux filesystems should, by default, be case-insensitive, and all major distroes should have this setup by default, and all programmers should program with the assumption that this is the case in mind. Although it can (in very rare circumstances, two of which you specified above) be useful to have files in the same directory distinguished only by case, it's far more likely that the ability to do this will cause confusion and problems, especially for users who're new to, say, Linux.

      There are *indeed* ways to get around the desire to distinguish only by case, caused by the not-silly barrier in the way of Getting The Job Done In A Rather Silly Way, that don't add to anyone sane's frustration level. Please don't ever say that there aren't again, because you'd be lying.

      How about:
      Sonata in D major
      Sonata in d minor

      AppleCo.htm
      apple.htm

      Notice how you can still have case-RETENTIVENESS, so can still search on case if that would be helpful (searching for Apple to get files on the company, etc.) but you avoid the problems of case-sensitivity by the most trivial of workarounds. Well, I don't even think they're workarounds, I think they're just sensible, unambiguous, naming.

      If I tried to create Apple.htm and then later apple.htm, Windows would popup a message telling me I couldn't do this, and I'd think "thanks for reminding me that I just tried to do something stupid, I'll rename this second file". You should too. :-)

  154. Re:Macs give up too easy when copying long filenam by Ash-Fox · · Score: 1, Redundant
    Has anyone found a solution?
    Use smbclient instead. You will need to compile it with darwin tools.
    --
    Change is certain; progress is not obligatory.
  155. Re:Not just Filenames are problematic, but Paths.. by Ash-Fox · · Score: 1
    We are a company that runs on Linux, Mac and Windows. We are having trouble sending Links in E-Mails that can be clicked on and that link to files in the Network... This is due to differences between Linux, Mac and Windows Network File Paths. Standardization here is really important! What do you know about this?
    Use HTTP on your network (can use webdav to upload files -- supported on windows, macosx, linux), problem solved.
    --
    Change is certain; progress is not obligatory.
  156. Only UTF-8! by Morth · · Score: 1
    OS X supports up to 255 characters and can use the same characters as Linux, except for a colon (:). However, the Finder may have trouble with bizarre file names that can be created in the shell.


    This is wrong... OS X only accepts UTF-8 sequences, and will also convert them to Unicode NFD before sending them to the hd driver. This can be an issue with Linux since the favourite Unicode form there is NFC, so it might have problems with comparing.
    OS X does accept colons, it's just that Finder and Carbon converts them to/from / for historical reasons.

    For an article aiming at portability, I think they missed out on the biggest issues.