[HN Gopher] MS Teams channels cannot contain MS-DOS device names
       ___________________________________________________________________
        
       MS Teams channels cannot contain MS-DOS device names
        
       Author : tapoxi
       Score  : 388 points
       Date   : 2023-08-10 14:21 UTC (8 hours ago)
        
 (HTM) web link (learn.microsoft.com)
 (TXT) w3m dump (learn.microsoft.com)
        
       | [deleted]
        
       | whalesalad wrote:
       | Microsoft is going for the Guinness World Record for oldest tech
       | debt. They are winning.
        
         | nxobject wrote:
         | Rivalled only by IBM... which makes for an interesting
         | comparison; IBM for enterprise, and Microsoft for personal
         | computing.
        
           | kevin_thibedeau wrote:
           | Unisys beats IBM for longest supported platforms.
        
       | kentonv wrote:
       | Circa 1998 I was a teenage Linux zealot who would attend LAN
       | parties carrying a Linux box. It actually worked -- at the time,
       | WINE practically existed to support Starcraft, Quake 2 could run
       | natively, and that covered like 95% of what people were playing.
       | 
       | One time I thought it would be funny to run a shell script that
       | looped through every Windows share on the network and tried to
       | open `CON/CON` on it, resulting in a prompt Blue Screen of Death
       | for each machine.
       | 
       | For some reason my friends did not think it was funny.
        
         | madrox wrote:
         | This brings back memories. Every LAN group had that one friend
         | like you. I'm sure you made up for it if, like my BSD friend,
         | you were handy with network troubleshooting and always brought
         | spare CAT-5.
        
           | kentonv wrote:
           | Well eventually I just... provided all the machines... and
           | the house... https://kentonshouse.com
        
             | Mxrtxn wrote:
             | This is really cool! Did you build a similar house?
        
               | kentonv wrote:
               | Not similar, I built _that_ house. (I 'm Kenton.)
               | 
               | Or do you mean the new one, alluded to on the site? It's
               | almost done... not ready to share yet. ;)
        
               | rexreed wrote:
               | Great site - I am reading all your posts about the LAN
               | party house now. Do you have the real estate listing of
               | the house when it was up for sale? I'm just curious as to
               | where it was located - you mentioned a sliver of land,
               | and I saw the asking price ($2M in Palo Alto) so I'm
               | curious to see what it looked like from the outside and
               | its location, if you don't mind sharing!
        
             | deagle50 wrote:
             | You're a gentleman and a scholar.
        
           | cheerioty wrote:
           | CAT-5, lucky you :) We still got zapped!
        
         | EspressoGPT wrote:
         | > Circa 1998 I was a teenage Linux zealot who would attend LAN
         | parties carrying a Linux box.
         | 
         | Arch, I suppose.
        
           | g105b wrote:
           | if it were arch you'd know already
        
             | gerdesj wrote:
             | Sorry, how remiss of me! On behalf of Archoles everywhere:
             | "I use Arch actually" (and so does my wife).
        
           | saalweachter wrote:
           | Arch wasn't around in 1998.
           | 
           | I'm going to put my money on Slackware.
        
             | kentonv wrote:
             | I think it was RedHat.
             | 
             | I had tried Debian first but switched to RedHat pretty
             | quickly afterwards.
             | 
             | (Back then, RedHat had nothing to do with "enterprise", it
             | was just the most polished Linux distro around. Ubuntu
             | didn't exist yet.)
             | 
             | (These days FWIW I use boring old Debian, and I'm not a
             | zealot about it. It works for me. Use what works for you, I
             | don't care. I have a separate machine for gaming and it
             | runs Windows. I know Steam works pretty well on Linux these
             | days but Windows is still less hassle for games.)
        
               | godzillabrennus wrote:
               | Back when Redhat was the name of the enterprise releases
               | and the open source releases.
        
               | kentonv wrote:
               | I think there was no separate enterprise release at the
               | time. But could be misremembering.
        
               | chungy wrote:
               | Red Hat Linux 6.2E was the first "enterprise" release
               | they made. Basically just standard RHL 6.2 but with long-
               | term support. This release can be retroactively thought
               | of as "RHEL 1"; The proper distribution that debuted as
               | Red Hat Enterprise Linux 2 was based on Red Hat Linux 9,
               | with the similar promise of long-term support. Future
               | RHEL releases are carved out of Fedora releases, the
               | spiritual successor to RHL.
        
               | Agingcoder wrote:
               | No you're right. If memory serves me well, I used to
               | switch between Slackware 3, redhat 2 and Debian 1.2(?) at
               | about that time. I never liked redhat, enjoyed Slackware
               | but ended up not enjoying the lack of a package manager,
               | so Debian did the trick a few years later. There was a
               | single redhat release. These days, just like you, I use
               | Debian.
        
               | [deleted]
        
             | JoelMcCracken wrote:
             | I used to love slackware, by far the best linux experience.
             | It just worked well.
        
               | vmlinuz wrote:
               | I still do. It still does...
        
               | saalweachter wrote:
               | I started with Slackware and was happy with it, but must
               | admit that is entirely because my Linux book from B&N
               | came with Slackware on a CD.
        
               | HeyLaughingBoy wrote:
               | Probably. I just remember installing from a dozen+ 3.5"
               | floppies onto my pizzabox '386 and breathing a sigh of
               | relief when it booted.
        
               | mkl wrote:
               | I think I needed 17 floppies ... and I could only
               | scrounge up about 8, so I assumed it wouldn't need the
               | earlier ones again and reused them for later parts. It
               | worked! I didn't use Slackware much though, as I had no
               | way to connect that machine to the internet, so it was
               | really hard to learn how to do stuff.
        
               | HeyLaughingBoy wrote:
               | I think I actually still have an "Introduction to
               | Slackware Linux" book.
        
             | xtracto wrote:
             | Ooooh that brought me memories. At the time testing (around
             | '98) all the nerdy rage was on testing the different
             | distros such as Caldera, Debian, Corel, Mandrake. I
             | remember at the same time compiling my first kernel in
             | FreeBSD (ordered the CDs from WalnutCreek website! what a
             | time). My parents where not amused that I broke the home PC
             | several times installing this thing over Windows
        
             | Q6T46nT668w6i3m wrote:
             | I'd bet RedHat 5.2.
        
               | timcambrant wrote:
               | That was my first. Then Slackware 3.6. Both as cover CD:s
               | of computer magazines because that download was too much
               | to handle on 56k.
        
         | Phrodo_00 wrote:
         | Was that over IPX? I don't think I ever configured IPX on
         | Linux. By the time I was using enough Linux to run Starcraft on
         | Wine, it already supported IP.
        
         | code_runner wrote:
         | love this story very much. I had no idea WINE had been around
         | for that long and was able to play starcraft etc. I have really
         | great memories of playing starcraft with friends back in the
         | day.... that game had enough staying power that we could all
         | get into and out of in middle school and then again in college!
        
           | DoesntMatter22 wrote:
           | It's still being played heavily and professionally in Korea
           | and there are many non Korean tournaments too.
           | 
           | I watch pro matches everyday!
        
             | RainaRelanah wrote:
             | > heavily
             | 
             | Sadly not the case, as much as I love ASL the scene has
             | zero new blood. SC2 really killed the Brood War scene, and
             | League of Legends really killed SC2. The days of packing an
             | aircraft hanger with 30,000+ fans for OSL finals are long
             | gone.
             | 
             | I was invited to the Stormgate alpha, and while I can't say
             | anything about it (NDA), I am hopeful it will bring new
             | life into RTS esports.
        
               | DoesntMatter22 wrote:
               | It's still heavily played. There are tons of show matches
               | and ASL which is good. There are newer players like Scan,
               | and we had a couple new guys last season.
               | 
               | Is it in it's heyday? No. Is it still fantastic? Yeah.
               | 
               | KESPA killed Brood War primarily because Blizzard forced
               | them to. Then KESPA itself died.
               | 
               | Lots of great BW still being played no question about
               | that
        
               | vitaflo wrote:
               | IvOry just qualified for ASL. That's definitely new
               | blood.
        
             | qsdf38100 wrote:
             | Ah, good times. Lim yo han!! (Aka slayers boxers ? Right
             | ?). As a Terran player, I was in such awe. And then came
             | Flash (lee young ho), the GOAT. I watched every one of his
             | games. StarCraft 2 never came close to the accidental
             | perfection that SC1 is.
        
           | cogman10 wrote:
           | Wine is nearly as old as linux. First released in 1993.
           | 
           | I had some awkward conversations with my parents as a teenage
           | nerd looking into "winehq". They didn't believe me that it
           | had nothing to do with alcohol.
        
             | FirmwareBurner wrote:
             | Your parent being concerned about you browsing something
             | about wine?
             | 
             | You're definitely not be French/European. Here our parents
             | give us wine :) American?
        
               | cogman10 wrote:
               | mormon family.
        
               | FirmwareBurner wrote:
               | Thanks, Mormons are some of the most nicest and chill
               | Americans I've met in Europe. Had no idea alcohol is
               | taboo.
        
               | astrange wrote:
               | They're also good at getting security clearances since
               | they never do anything, so those might've been CIA
               | agents.
        
               | FirmwareBurner wrote:
               | _> They're also good at getting security clearances since
               | they never do anything_
               | 
               | I never understood why you should mass deny security
               | clearances to people who like to "party".
        
               | TazeTSchnitzel wrote:
               | They don't want people who might have done something
               | embarrassing in their past, because foreign adversaries
               | might try to blackmail them with that.
        
             | saghm wrote:
             | Even today, Blizzard games tend to run pretty easily on
             | Wine. I always attributed it to them using a fairly old
             | tech stack, but maybe it's the reverse and Wine development
             | has just continued to go above and beyond for those games.
        
               | kcb wrote:
               | I know WoW is aware that's it's running in Wine. There
               | are some setting greyed out in game with a message of not
               | compatible when running in Wine.
        
       | lokar wrote:
       | Just imagine the deep commitment to tech debt that results in
       | this
        
         | yellow_lead wrote:
         | One man's tech debt is another man's API stability
        
           | [deleted]
        
           | flanked-evergl wrote:
           | One man's API stability is another man's perpetual nightmare,
           | especially if the API is bad. Things have to change to get
           | better, and if systems are designed in a way which prevents
           | API improvements, then you will just have perma-crap
           | software.
        
             | Dalewyn wrote:
             | The notion that change is always good/better is false, and
             | change for the sake of change is terrible.
        
             | xp84 wrote:
             | This seems an odd place to be making this argument though.
             | Of all the things that you might do if you had carte
             | blanche to break all backcompat in Windows, you'd really
             | pick these reserved words? like, how important is it to
             | make a file named just con or prn? Or a Teams channel or
             | Sharepoint group for that matter? I'd be aiming more for
             | something like the backslash as path separator, or
             | eliminating all system dependencies on drive letters. (I
             | know NTFS can mount elsewhere, but too much stuff uses and
             | assumes drive letters.)
        
             | marcosdumay wrote:
             | > perma-crap software
             | 
             | Yeah, we are talking about Microsoft here.
             | 
             | I guess some people will pop-up from nowhere and disagree
             | with your rationale, but it is flawless. Everybody loves
             | the stability anyway.
        
         | [deleted]
        
       | maerF0x0 wrote:
       | General tip for structuring user data. Try to treat it as obscure
       | blobs, whenever possible.. Imagine it's encrypted so it's not
       | even printable/human readable.
       | 
       | > forms, CON, CONIN$, CONOUT$, PRN, AUX, NUL, COM1 to COM9, LPT1
       | to LPT9, desktop.ini, _vti_
       | 
       | If they have to restrict those because some user input is going
       | straight into their FS, then they mucked up. Probably should have
       | been given a safe ID (perhaps uuid4, perhaps something more like
       | a digest of the channel name instead of using the user input
       | directly.
       | 
       | For me it's a smell when someone says "You cannot use these
       | characters". I automatically think "Why not? You're not using
       | this unencoded or plaintext, right?" eg passwords, or usernames,
       | or content that will show up on a webpage like a comment or such.
       | 
       | This all being said, perhaps it's just an easter egg gone
       | sideways... Perhaps they were just trying to have a bit of fun :)
        
       | m00dy wrote:
       | I can't be the only one thinking that generally MS Team is
       | offering probably worst experience in the messaging market.
        
         | rqtwteye wrote:
         | Slack is working hard on catching up but Teams is definitely
         | the leader in suckiness right now.
        
         | ilyt wrote:
         | It's absolute fucking garbage when it comes to text chat. It
         | boggles my mind that they had so many examples on how to do it
         | right and fucked it up so badly
        
           | CSMastermind wrote:
           | I honestly think they should fire every single PM on that
           | team. Like literally just keep the engineers and give them no
           | more direction than make it better and designers need to
           | approve any UI changes.
           | 
           | That's it.
        
         | uraji wrote:
         | you are not
        
       | graypegg wrote:
       | If this IS a case where the title of a channel is used as a
       | SharePoint folder, I'm surprised there isn't some standard way to
       | escape specifically these strings? I know it would break
       | compatibility for applications that rely on these magic device
       | files, but SharePoint should NEVER actually want to speak to
       | COM1. Weird to me it isn't handled already in SharePoint!
        
         | Kwpolska wrote:
         | SharePoint can sync with your filesystem on Windows, and
         | Windows/Win32 doesn't support those names for backwards
         | compatibility.
        
       | lol768 wrote:
       | Does this imply it's writing a file to the fs for its internal
       | storage, with the name matching the channel's name instead of a
       | channel ID?
        
         | Brian_K_White wrote:
         | I think it only implies they worry about people cutting and
         | pasting channel names into other things like random powershell
         | scripts.
        
         | icegreentea2 wrote:
         | Not necessarily - it could mean that at some point they believe
         | they'll need to create folder or file with the same name as a
         | team, and they don't wanna have to deal with weird collisions.
         | 
         | It's been a while since I've used Teams+Sharepoint, but I
         | vaguely remember being able to have a Sharepoint workspace per
         | team channel, and then being able to mount those workspaces as
         | a shared/network drive. Stuff that might end up in the
         | workspace is like... shared/uploaded files or something?
        
           | i_am_jl wrote:
           | It's been a while since I've used Teams+Sharepoint, but I
           | vaguely remember being able to have a Sharepoint workspace
           | per team channel, and then being able to mount those
           | workspaces as a shared/network drive. Stuff that might end up
           | in the workspace is like... shared/uploaded files or
           | something?
           | 
           | This is correct. Every channel is backed by a Sharepoint
           | folder (maybe this is configurable?) that contains stuff like
           | uploaded images, videos, recordings and transcripts of
           | meetings, etc.
        
             | Roark66 wrote:
             | It's hilarious on Linux you need chrome to use teams for
             | screen sharing / video to work, and Firefox for sharepoint
             | file sharing to properly work.
             | 
             | If someone shares a file on a channel, you can open it in
             | chrome. But you can't share any files yourself, because
             | either the upload button doesn't work or when it does it
             | looks like you shared the file in the chat for a split
             | second then it dissapears.
        
           | ant6n wrote:
           | This%20is%20what%20escape%20sequences%20are%20for.
        
             | kevincox wrote:
             | If these folders are user-visible (for example browsable in
             | SharePoint) then this leads to a bad user experience. The
             | downside of restricting channel names needs to be weighed
             | against the downside of needing to escape the SharePoint
             | folder names.
        
         | randomdata wrote:
         | Could be someone taking DRY a bit too seriously, using
         | validation code that is shared with places where the names do
         | matter.
        
         | markstos wrote:
         | Yes. Or something equally head-scratching.
        
       | TacticalCoder wrote:
       | It's bad, ok... But honestly what's the goal? To let people name
       | _anything_ , including the name of a channel, anything they like,
       | like, say:                   "rm -rf /*"
       | 
       | Wait, I've got better: that rm -rf, but written "fr- mr" with RLO
       | left/right overrides.
       | 
       | Surely that is something to aim for because nothing shall ever go
       | wrong?
       | 
       | Thankfully having a file named _https://example.org_ is illegal
       | in Linux (and Windows too right?).
       | 
       | Seriously: is this a problem of you? And if it's a problem, where
       | do you draw the line?
       | 
       | What about codepoint 0? What about Hangul fillers and RLO
       | characters: do you think applications who refuse these do suck?
       | 
       | There are, thankfully, limitation on what filenames can contain.
       | And I think the restrictions aren't anywhere near restrictive
       | enough. Same for usernames, same for channels, same for oh-so-
       | many things.
       | 
       | Does anyone really find it problematic that, say, Twitter only
       | allows visible alphanumeric characters and underscore? (and 15
       | chars max)
       | 
       | This seems _very_ smart to me. I take that any day over longing
       | for people being able to use poop emojis in their usernames and
       | channels names.
        
         | aidenn0 wrote:
         | While you can't have a file named https://example.org you can
         | absolutely have a path like that, as internal duplicate slashes
         | are ignored and you can have a directory named "https:" with a
         | file named "example.org"
        
         | dylan604 wrote:
         | I've found it better to use dd to wipe out data than an rf.
        
       | aposm wrote:
       | Another fun observation in that page - You can only have up to
       | 20k max participants in a Teams live event. The footnote says you
       | can do larger events with Microsoft Stream, but following that
       | link says Stream live events are deprecated, and the alternative
       | is Teams. Hmm...
        
       | [deleted]
        
       | red_hare wrote:
       | Reminds me of the rumor that the reason it went "Windows 7", "8",
       | "10" and skipped "9" is because the fear of a codebase that went:
       | if(version.StartsWith("Windows 9")) {         /* 95 and 98 */
       | ...       }
        
         | fantyoon wrote:
         | Is the Windows version ever exposed as a string in the Windows
         | API? Seems strange in my mind, but I have no experience with
         | Windows. On the one hand it sounds like something Microsoft
         | would do for backwards compatibility, but on the other hand it
         | seems like a weird API to provide.
         | 
         | I found GetVersion[1] but that returns the version as two
         | numbers.
         | 
         | [1] https://learn.microsoft.com/en-
         | us/windows/win32/api/sysinfoa...
        
           | Phrodo_00 wrote:
           | I don't know if the rumor is true, but even if Windows itself
           | doesn't provide an API that looks like that (I also looked
           | around real quick and didn't find anything), it's not
           | unreasonable that there could be libraries that provide the
           | version that way.
        
             | TheRealSteel wrote:
             | The rumour is not true, despite reddit's insistence.
             | Windows exposes it's version is a series of numbers, and
             | even if it didn't, Windows 9 could have returned "Windows
             | Nine", "Window v9" or loads of other things.
        
           | IshKebab wrote:
           | You're imagining that all developers do things properly. I've
           | seen Bash code that used a regex to get the first two digits
           | from `python --version`. Hopefully they'll never release a
           | Python 3.10!
        
           | 88913527 wrote:
           | Perhaps not Windows APIs, but the concern would apply to User
           | Agent strings.
        
       | draw_down wrote:
       | [dead]
        
       | conscion wrote:
       | This is most likely due to those names not being allowed for
       | files or folders in the Windows file system. MS Teams channels
       | create a matching folder in SharePoint where file attachments are
       | stored.
        
         | Zelphyr wrote:
         | Microsoft, when confronted with a problem, think "I know, I'll
         | build it on top of SharePoint."
        
           | reilly3000 wrote:
           | Every time, it seemed like it was going to be so easy and
           | powerful. Each time, it turned out to be impossible to
           | implement relatively vanilla functionality.
        
           | mattgreenrocks wrote:
           | Is Teams built atop SharePoint, or does it just integrate
           | with it?
        
             | twobitshifter wrote:
             | Creating a new team makes a sharepoint group complete with
             | calendars, a site, email addresses, and file folders.
        
         | andix wrote:
         | And matching Active Directory groups. It's kind of cool to use
         | them, because it's a really easy way to let the users
         | administrate access to resources without opening a support
         | ticket.
        
         | yellow_lead wrote:
         | I bet there is another vulnerability here, although they also
         | seem to blacklist % and ..
        
           | naikrovek wrote:
           | most of those are the usual forbidden path and filename
           | characters.
           | 
           | % is used to surround environment variables for
           | interpretation, for example.
        
             | lostlogin wrote:
             | > the usual forbidden path and filename characters.
             | 
             | It's pretty irritating when files and folders on my Mac
             | can't be uploaded to Teams due to this limitation. It's
             | only forbidden for Windows users.
        
               | reaperducer wrote:
               | _It's only forbidden for Windows users._
               | 
               | I think the only character that Macs don't allow is the
               | colon. AFAIK, everything else is fair game, even emojis.
               | 
               | I just created a project with "e" in the title. I wonder
               | if I'll be able to share that with my Windows coworkers
               | on Teams.
        
               | recursive wrote:
               | Yes. NTFS has no problem with non-latin letters and
               | emojis in file names.
        
               | justsomehnguy wrote:
               | NTFS itself has not that many forbidden characters
               | (though ':' is one of them, it denotes alternate stream).
               | 
               | What people think about those CON, PRN, AUX, NUL etc are
               | not _filesystem_ limitation.
               | 
               | And while we are here - nor backslash, nor forward slash
               | are used in NTFS. It can care less about what char do you
               | use for a _directory separator_. Just be sure to update
               | your APIs.
        
               | nxobject wrote:
               | NTFS on non-Windows systems aside, I wonder whether there
               | are any "pure NT" environments you can access in Windows
               | where you _can_ create and use these folders.
        
               | bombcar wrote:
               | You just need to come in below whatever layer notices
               | them. I'm sure they've been used to smuggle viruses in,
               | so the layer that blocks them may get lower and lower.
        
               | tenebrisalietum wrote:
               | You can do some stuff under Cygwin that's bothersome
               | under explorer.exe, like delete files with really long
               | pathnames.
        
               | qingcharles wrote:
               | I had to test it, but this is true. I just renamed my
               | TODO.txt to [sobbing emoji].txt
        
               | aidenn0 wrote:
               | Linux treats filenames as bytes and only disallows the
               | ascii slash and null. All other bytes are fair game.
        
               | cesarb wrote:
               | > [...] and only disallows the ascii slash and null. All
               | other bytes are fair game.
               | 
               | There's also the special treatment of "", ".", and ".."
               | (that is, a file or directory name consisting entirely of
               | zero, one, or two dots), and the convention that a name
               | starting with a dot is hidden.
        
               | OnlyMortal wrote:
               | ":"? Really? It's not 2001 anymore.
        
               | reaperducer wrote:
               | I guess you're criticizing Microsoft's NTFS, since it
               | cannot use colons, either.
               | 
               | CON:? Really? It's not 1974 anymore.
               | 
               | People in glass houses shouldn't throw stones.
        
               | lostlogin wrote:
               | ? No it is not 1974, but not everything is better.
               | 
               | Edit: argh, HN deleted the emoticon. Ironic.
        
               | [deleted]
        
               | duskwuff wrote:
               | > I think the only character that Macs don't allow is the
               | colon.
               | 
               | Colon is allowed in the filesystem; it's displayed as a
               | forward slash in the UI.
               | 
               | (There's historical reasons they do this: Classic Mac OS
               | used colon as a path separator.)
        
               | yjftsjthsd-h wrote:
               | > AFAIK, everything else is fair game, even emojis
               | 
               | FWIW, I generally expect emojis to be _more_ compatible
               | than other symbols, because they have no legacy meanings
               | - ex. (tm) has never been a path separator, or indeed
               | anything else.
        
               | veave wrote:
               | (tm) is not an emoji. It's part of the "Letterlike
               | Symbols" block.
        
               | yjftsjthsd-h wrote:
               | Oops, good point. I think I'm going to leave it as-is on
               | account of not knowing of any actual emoji that HN
               | allows, but yes that is technically incorrect on my part.
        
               | veave wrote:
               | I think the confusion comes from the fact that some
               | platforms render it as a drawing as if it was an emoji. I
               | never understood why...
        
               | yjftsjthsd-h wrote:
               | Speaking only for myself, the confusion comes purely from
               | the fact that I think of all text as "ASCII" or "Unicode"
               | (...or "something else that nobody should use in the
               | modern era"), and I don't really distinguish within
               | "valid unicode that isn't ascii".
        
               | extraduder_ire wrote:
               | Main problem with "emojis" is that they live outside the
               | basic multilingual plane, and so make bad utf-16 handling
               | really obvious. This is a blessing in disguise, because
               | it acts as a no-brown-m&ms thing, since it's more
               | unarguably broken than not being able to use cuneiform,
               | or musical symbols.
        
               | yjftsjthsd-h wrote:
               | Yeah, point; I probably should have said something more
               | like "emoji shouldn't have alternative meanings, so they
               | should work _if your unicode support is functional_
               | (which is a big caveat). " On the bright side, yeah,
               | emoji have been great at pushing things to handle unicode
               | nicely and act as a... I dunno, natural fuzzing case?
        
               | wizofaus wrote:
               | The problems show up when that name gets stored in a
               | VARCHAR column somewhere...
        
               | slaymaker1907 wrote:
               | Yes, and it was an absolutely horrible mistake in the
               | other direction. If I give you a path
               | "./something/example.txt" it could be a file called
               | example.txt in a folder called something or it could be a
               | single file called "something/example.txt".
        
               | hn92726819 wrote:
               | It looks like non-utf8 is not allowed:
               | https://superuser.com/questions/204287/what-characters-
               | are-f...
               | 
               | Maybe it goes without saying, but for completeness, / is
               | not allowed in filenames, and neither is null terminator
               | (0x00 or \0) on mac either.
               | 
               | On Linux, only / and null terminator are banned from
               | filenames.
        
               | slaymaker1907 wrote:
               | Sadly, you are not correct about slashes. They are
               | allowed in filenames for Macs
               | https://alexwlchan.net/2021/slashes/
        
               | vtee44 wrote:
               | It doesn't make sense tbh, it just causes confusion when
               | someone is using terminal. Slashes in file names are
               | forbidden everywhere except Mac, it needs to be changed
               | in order to send it anywhere or use in some apps. But I
               | think colon is used much more in names. I don't get why
               | did they do that.
        
               | lostlogin wrote:
               | Based on this logic, do we ban everything that is banned
               | somewhere? Surely we can aim higher than the lowest
               | common denominator.
        
               | vtee44 wrote:
               | Slashes are used in paths, so most programs that aren't
               | Mac-exclusive would use them to build a path to file. To
               | make it work properly in cross-platform programs you'd
               | need to write platform-specific code to handle that. It
               | just adds complexity and possible errors. Even system
               | terminal doesn't display it as slash and it doesn't work
               | if you write slashes.
               | 
               | For users of other platforms (at least 90% of desktop
               | market) it would just display as slashes. Just not
               | implementing this workaround would make it predictable
               | when moving and using files.
        
               | wizofaus wrote:
               | Given the preponderance of 3 major operating systems, I'd
               | think it's sensible for user-level applications to
               | disallow creation of filenames that would cause problems
               | on any of them. Except arguably that could even include
               | using spaces or periods... obviously in an ideal world
               | such restrictions wouldn't exist, but I'm not sure how to
               | realistically push for such a world. E.g. my suggestion
               | would be to reserve non-printable characters (below Ascii
               | 32) for use as separators/delimiters in as many contexts
               | where that's workable. Obviously some sort of convention
               | would then need to exist as to how they were displayed
               | and typed in, and I very much doubt I'll ever see it
               | happen, but I'm sure it would solve a lot of mis-parsing
               | bugs that show up with frustrating regularity.
        
               | mihaaly wrote:
               | Once I planned to share files between a Mac and a Win PC
               | through a product synching folders but gave up very soon
               | due to the constant errors and problems with file names
               | worked in one but not in the other, dominantly filenames
               | that I did not choose but received (e.g. link dragged
               | from address bar to folder, but others too) but some I
               | choose following some preexisting logic.
        
           | Dwedit wrote:
           | \\\?\GLOBALROOT\ anyone? Now you're opening devices from the
           | NT object namespace rather than files.
           | 
           | Bonus: You can create the file C:\con\con using NT Native API
           | filesystem calls. Someone even made a video of installing
           | Windows into C:\con\con, and the kernel-side stuff works
           | beautifully, and the explorer shell side dies horribly.
        
             | rejectfinite wrote:
             | >the kernel-side stuff works beautifully, and the explorer
             | shell side dies horribly.
             | 
             | So, just like running Windows normally then? :D
        
               | postmodest wrote:
               | NT is Dave Cutler's best ideas for OS design, atop which
               | Very Bad People piled the Win95 API and UX
        
             | dustingetz wrote:
             | AOL chat would bluescreen a Win95 box if someone sent a
             | chat message like "}s\con\con" - }s was the directive to
             | play a sound
        
         | gadders wrote:
         | I worked at a bank that had a windows-based trading system and
         | for some reason created folders to hold the details of each
         | book. There were issues when a trader decided to call a book
         | "LPT1".
        
           | boppo1 wrote:
           | What is a 'book' in the context of trading?
        
             | jll29 wrote:
             | short for "orderbook" - the set of pending trades
             | pertaining to a client account
        
             | grumpyprole wrote:
             | Just an old name for a portfolio of transactions
        
             | 0x264 wrote:
             | Set of related trades.
        
         | whalesalad wrote:
         | sharepoint has its claws in msft and it will forever be their
         | achilles heel.
        
       | bni wrote:
       | MICROS~1
        
       | hn8305823 wrote:
       | How I read the headline:                 "some horrible $MS
       | product I don't use does some horrible $MS-like thing"
        
       | Mister_Snuggles wrote:
       | I sort of get most of these - they're internal to various bits of
       | Microsoft technology. 'CON' plus the ones ending in $ are
       | internal device names dating back to MS-DOS, 'desktop.ini' is a
       | magic file that Explorer uses, '_vti_' is something I've seen but
       | can't remember what it was from.
       | 
       | But 'forms'? Why is 'forms' a bad word?
        
         | tbyehl wrote:
         | _vti is the mortal enemy of anyone involved in web hosting
         | during the mid-90s to early 2000s. Those are the server-side
         | scripts and configuration for FrontPage, originally developed
         | by Vermeer Technologies Incorporated.
        
           | Mister_Snuggles wrote:
           | Thank you! That was bugging me, but now that you mentioned
           | FrontPage I clearly recall all of the _vti stuff.
        
         | monitron wrote:
         | I did some quick looking and it seems like SharePoint creates a
         | hidden folder called "forms" to store, unsurprisingly, forms
         | associated with a resource. Aren't polluted namespaces grand?
        
           | Mister_Snuggles wrote:
           | Ah, that makes some amount of sense.
           | 
           | But... Why not just call it "_forms" or ".forms", which are
           | already prohibited due to the first character?
        
       | bradley13 wrote:
       | So many of these limits seem arbitrary. Why 5? Why 500000? While
       | they seem OK for most customers, why not make many of them
       | MAXINT?
        
         | Sakos wrote:
         | That sounds crazy to me and I understand why Microsoft or any
         | company wouldn't want to do that. It seems completely
         | reasonable to me to set reasonable limits to avoid excessive
         | resource usage or unforeseen/untested/unwanted performance
         | limitations.
        
           | xp84 wrote:
           | Bingo. Everything has a limit and when you set it yourself
           | you're moving the "how many x can I make?" answer from the
           | "unknown" column to the "known _and testable_ " column.
           | 
           | Imagine if you add a feature tomorrow that, on startup, has
           | to run something in linear time with the number of channels
           | you have. If the upper bound were essentially undefined (and
           | not practically testable if it's max int(32)) it could be
           | that in practice your new feature makes it so that getting
           | above 23,456 channels effectively disables the server due to
           | a timeout in a critical part of startup. But if you've
           | defined that channel limit, you can be confident that a
           | feature like that either does or does not break things, even
           | when at your channel limit, because you can test that.
        
       | alkonaut wrote:
       | If I ever do anything where I let people name things it's rarely
       | a good idea to NOT lock it down with some restrictions. "Minimum
       | length", "Maximum lenght" at least, but anyone who has programmed
       | windows machines for any length of time might also have the scars
       | to remember to do "is a valid file name" too.
       | 
       | Having to escape everything or replace names with stable guids is
       | not a good relpacement for storing \whatever\logs\channelname or
       | whatever the need may be. Especially for systems that are hard
       | bound to windows filesystems or Sharepoint to begin with.
       | 
       | I bet there are apps on other OS:es where you CAN name things a
       | "\0" sequence or "/" and for each such app I imagine there are
       | people who regret making that possible.
        
       | owlninja wrote:
       | Words: forms, CON, CONIN$, CONOUT$, PRN, AUX, NUL, COM1 to COM9,
       | LPT1 to LPT9, desktop.ini, _vti_
        
         | Brian_K_White wrote:
         | I was about to say "Which is essentially leaking the existence
         | of something terrible inside. They should be embarrassed to say
         | something like this in public. Like saying you can't have %s or
         | $PS1. Why the hell not? What are you doing with this user-
         | supplied input?"
         | 
         | But maybe it's more about what everyone else might do with a
         | channel name. Ie they might cut & paste it anywhere, and I
         | guess windows users aren't expected to escape their own strings
         | when pasted into cmd or powershell or wsl.
        
           | tapoxi wrote:
           | I thought this as well but there's plenty of dangerous
           | commands that aren't escaped here. I'm assuming it's a
           | limitation of it actually writing something to the
           | filesystem, hopefully your own (with the desktop app) and not
           | one in Azure.
        
           | vel0city wrote:
           | > What are you doing with this user-supplied input?
           | 
           | Creating Sharepoint shares which can be mounted as network
           | shares in Windows where these filenames are not allowed?
        
           | cueo wrote:
           | > I was about to say
           | 
           | Yet you said it twice[1].
           | 
           | [1] https://news.ycombinator.com/item?id=37076913
        
           | dharmab wrote:
           | The Something Terrible in this case is early DOS which did
           | not have separate folders. So the device files were in the
           | same namespace as the user's files, so the user couldn't name
           | a file CON or LPT1. These are preserved for backwards
           | compatibility. To this day you can write a program that
           | writes to a CON file in any folder, and the program will
           | print the write to console.
        
             | xp84 wrote:
             | Another interesting aspect of this, which I remember
             | specifically from reading MS-DOS manuals in the 90s as a
             | kid (I was an incredibly fun 12 year old) is that this
             | choice was an intentional one done in the name of
             | flexibility. These device names were correctly written with
             | a colon, but you are allowed to omit the colons. For
             | instance:
             | 
             | copy con lpt1
             | 
             | And
             | 
             | copy con: lpt1:
             | 
             | were interchangeable. If they'd chosen to not save users
             | keystrokes and force colons when referencing devices, I'm
             | not positive, but I think it would have eliminated the need
             | for many of these reserved words in file names in general.
             | 
             | Also, side note, the "copy con outputfilename.txt" idiom is
             | one that I still can't ever remember how to do the
             | equivalent on UNIX/Linux!
        
               | gnosek wrote:
               | > Also, side note, the "copy con outputfilename.txt"
               | idiom is one that I still can't ever remember how to do
               | the equivalent on UNIX/Linux!
               | 
               | cat > outputfilename.txt
        
             | ChrisSD wrote:
             | This has actually changed a bit in the last few years. In
             | Windows 11 writing to `.\CON` will write to the file but
             | writing to `CON` will still write to the console.
        
         | transitorykris wrote:
         | In the mid-90s there was a fun and short period of time where
         | IRC clients like mIRC could be set to auto-receive files
         | through DCC.. and would happily write to names like LPT1 (which
         | of course would just write the data directly to the recipient's
         | printer)
        
           | grishka wrote:
           | Also, send a COM1 file containing "+++ATH" to someone you
           | dislike to see them disconnect. I just made this up but it
           | _should_ work, right?
        
             | zten wrote:
             | For the absolute worst modems, I believe you could just
             | send that in a PING on IRC and their client would write the
             | string back and hang up
        
         | Ekaros wrote:
         | Now I actually wonder were there ever any machines that had
         | LPT9, COM9 I could barely see.
        
           | tssva wrote:
           | Back in the day many of my clients had Windows NT/2000
           | machines running RAS or RRAS with multi-port serial cards
           | connected to modems for employee remote access. Usually these
           | would be 8 or 16 serial ports per card with multiple cards
           | installed per server.
        
           | [deleted]
        
           | blueflow wrote:
           | You can reassign real device to any of these names
        
             | Ekaros wrote:
             | Reassign and actually use all of them are different things.
        
           | fredoralive wrote:
           | If you do embedded stuff you can easily get above COM100 if
           | you're doing something like testing (if a USB to serial
           | converter has a serial number, it gets a unique COM port).
           | Although I don't think these high numbers have any effect on
           | the file system, just the legacy low numbered ones DOS could
           | have.
        
           | zaxomi wrote:
           | MSDOS 3.3 had COM1, COM2, COM3, COM4, LPT1, LPT2, and LPT3.
           | LPT4-9 and COM5-9 was not part of MSDOS.
        
             | olyjohn wrote:
             | IIRC those were mapped to specific I/O and IRQ Ports back
             | in the day.                 COM1: I/O port 0x3F8, IRQ 4
             | COM2: I/O port 0x2F8, IRQ 3       COM3: I/O port 0x3E8, IRQ
             | 4       COM4: I/O port 0x2E8, IRQ 3
             | 
             | I also remember, there was a while where there was no IRQ
             | sharing. So some machines couldn't use all the COM ports
             | available. Or you'd add in like a modem, and would have to
             | disable the onboard COM port if it was using the same IRQ.
        
       | jiggawatts wrote:
       | Pretty soon we'll need historians to explain this to younger
       | generations.
       | 
       | Maybe alongside the school of computer science at universities
       | we'll have a school of computer archeology and a school of
       | computer ethics where we'll be taught not to use negative
       | reinforcement for AI training...
        
       | Brian_K_White wrote:
       | I was about to say "Which is essentially leaking the existence of
       | something terrible inside. They should be embarrassed to say
       | something like this in public. Like saying you can't have %s or
       | $PS1. Why the hell not? What are you doing with this user-
       | supplied input?"
       | 
       | But maybe it's more about what everyone else might do with a
       | channel name. Ie they might cut & paste it anywhere, and I guess
       | windows users aren't expected to escape their own strings when
       | pasted into cmd or powershell or wsl.
       | 
       | The teams code itself can probably handle it just fine, but maybe
       | not all the unknown janky random things out there that might
       | handle channel names.
       | 
       | Other people have pointed out the SharePoint folders associated
       | with the channels. Not sure I would excuse that myself since it's
       | easy enough to just escape or modify or encode to create a safe
       | version for the directory, but maybe it's important elsewhere for
       | the channel name and the directory name to be identical. Within
       | one app you could simply encode and decode both the channel name
       | and directory name the same way and totally hide the encoding
       | from the user, but if the directory is used outside of the app,
       | then it would look bad with URL encoding or something that
       | everything else will just display as it is, not decoded.
       | 
       | So the directory has to be safe for everything else, and so the
       | channel name has to be the same.
       | 
       | Essentially choosing to have these limits rather than have
       | directory names that look ugly sometimes. It's ultimately not
       | even a safety or breakage thing, just a cosmetic thing. All
       | directories will always look natural and good, because they don't
       | allow anything that would have needed to be encoded.
        
         | paulddraper wrote:
         | AWS has character restrictions on virtually everything.
         | 
         | The _message bodies_ of SQS messages has restrictions on which
         | whitespace characters can be used.
        
           | SamuelAdams wrote:
           | I noticed this recently too. We set up alerts on cloud watch
           | logs and I tried to put an emoji in the alert message, which
           | delivers to an SNS topic, which goes to an email. And
           | cloudformation complained loudly that there was an
           | unsupported character in the alarm message.
        
         | naikrovek wrote:
         | they're SharePoint limits, man. Teams is backed by SharePoint
         | and it's not a secret, nor is it embarrassing.
        
           | recursive wrote:
           | > nor is it embarrassing
           | 
           | I worked on a sharepoint project once. Let's just say I'm not
           | putting it on my resume these days.
        
             | syndicatedjelly wrote:
             | I avoid putting stuff on my resume that I don't want to
             | work on again. I just pretend to re-learn Sharepoint for
             | every new job I have
        
               | TYPE_FASTER wrote:
               | It used to change so frequently that I didn't have to
               | pretend.
        
           | lostlogin wrote:
           | > nor is it embarrassing
           | 
           | Isn't it? The folders work fine on a Mac.
           | 
           | Teams is not a things of beauty, and is rough as all hell for
           | daily users.
        
             | kbenson wrote:
             | It isn't. Services have limitations, it's nothing new. This
             | isn't about the portion of the app running on Mac, or Linux
             | for that matter, this is because the app is backed by a
             | service that has a name limitation and that bubbles up
             | through teams names.
             | 
             | In the end it's no different than if some service doesn't
             | allow all numeric names or names to start with numerals or
             | be too short, of which there are plenty of constraints on
             | plenty of services.
        
               | lostlogin wrote:
               | I think I expect more from my tools than you. I have a
               | fair idea why the behaviour is there, I just don't accept
               | that it's ok.
               | 
               | There are problems large and small throughout the app and
               | it really feels like someone went 'close enough' and
               | called it done.
        
           | santoshalper wrote:
           | And SharePoint itself is backed by the Windows Filesystem,
           | which respects a lot of old DOS stuff for backwards
           | compatibility.
        
         | thefz wrote:
         | > essentially leaking the existence of something terrible
         | inside
         | 
         | It's just a restriction imposed on SharePoint folder names
         | bubbling up. Nothing fancy.
        
           | mihaaly wrote:
           | Or the terribleness falls one down very fancy?
        
           | gadders wrote:
           | It goes lower than that. Try creating a directory called
           | "LPT1" in DOS
        
           | BasedAnon wrote:
           | i was going to write a bunch of suggestions for solving the
           | problem but then i remembered i hate microsoft
        
             | [deleted]
        
             | Brian_K_White wrote:
             | I at least upvoted. This is the most level headed and sane
             | reaction to this article.
        
             | matheusmoreira wrote:
             | Name checks out.
        
           | eastbound wrote:
           | Those should obviously be UUIDs. Labels and titles should be
           | a simple changeable, internationalizable attribute.
           | 
           | Like usernames. You don't use usernames as primary keys for
           | anything, do you? What happens when people marry?
        
             | merb wrote:
             | > Like usernames. You don't use usernames as primary keys
             | for anything, do you? What happens when people marry?
             | 
             | well it's extremly painful to rename the primary mail
             | address or the UPN when it comes to microsoft 365 and
             | active directory, especially in a hybrid environment. of
             | course you can change upn's but it's definitly some kind of
             | "primary key" for a user. in fact most systems at least use
             | a UPN
        
             | jdwithit wrote:
             | Extremely relatable post. I worked someplace that had a
             | policy of absolutely never changing your Active Directory
             | username because it was the primary key in like a dozen
             | internal systems. Someone finally made a massive stink
             | about it to HR when their name had legally changed but IT
             | was forcing them to use their old name (and they were
             | absolutely right to complain. It was a ridiculous policy
             | only in place due to terrible architecture). They still
             | defaulted to telling people no but they did at least
             | document all the highly tedious manual steps necessary to
             | change the name in all affected systems if (when) another
             | employee refused to take no for an answer.
             | 
             | Was certainly a great lesson in schema design, among other
             | things.
        
             | SoftTalker wrote:
             | > You don't use usernames as primary keys for anything, do
             | you?
             | 
             | HAHAHAHHHAAHAHA
             | 
             | Seen this so many times I literally laughed out loud.
        
             | kayodelycaon wrote:
             | > You don't use usernames as primary keys for anything, do
             | you?
             | 
             | Sure you do. Saves doing joins all over the place just to
             | get someone's username. Makes hand writing SQL easier.
             | 
             | Apply head to desk.
        
             | hardware2win wrote:
             | And what happens when you sync sharepoint to your windows
             | files?
        
             | eddythompson80 wrote:
             | I too love folders with 200 UUID subfolders in them as well
             | as URLs with 14 different UUIDs.
        
         | marcosdumay wrote:
         | > I guess windows users aren't expected to escape their own
         | strings
         | 
         | Eh... When did the users of any kind of system start to fit
         | that expectation? And what is that utopia system?
        
         | m3047 wrote:
         | > leaking the existence of something terrible inside
         | 
         | If you should get the opportunity to look at a raw (DNS)
         | NXDOMAIN passive DNS (PDNS) feed there's a lot of plain
         | brokenness, but the nuggets can be truly alarming. This is what
         | happens when translating between naming services: naming
         | services typically have application domains, and names in one
         | context are interpreted differently in another. Bobby Tables is
         | well known, but how about that special file "-rf"? Was a time
         | when the happy path for Active Directory essentially trusted
         | DNS domain names implicitly for things like file shares. Sounds
         | ok until you realize executable files might be on those
         | "drives".
         | 
         | (Honestly I don't find the string "MS-DOS" anywhere in that
         | document.) (Edit: Did find the reference to e.g. CON, LPT1...)
        
           | [deleted]
        
           | m3047 wrote:
           | Looking at the list of characters and character ranges the
           | omission of 7F is curious.
        
         | wizofaus wrote:
         | Try creating a value in a SharePoint choice column that has ;#
         | in it, and you might not be so certain this isn't being done
         | because MS don't trust their own code.
        
       | jcims wrote:
       | I can't send a text from Google Voice to my phone that has the
       | domain 'united.com' in it. It just gets lost in the ether.
        
       | glonq wrote:
       | I'm old[school], so if I'm at the windows command prompt and need
       | to bust out a quick batch file or script I will do "copy con
       | foo.bat" instead of using notepad or vscode. Old habits die hard!
        
         | xp84 wrote:
         | Same! I know there are one or more ways to do this in a
         | Unix/Linux shell, but despite being off Windows for almost 20
         | years I haven't memorized it. I miss it though!
        
       | ok123456 wrote:
       | Use CP/M device names instead, I guess.
        
       | xg15 wrote:
       | MS Teams _channel names_ can 't contain device names*
       | 
       | Still incredibly sad, but not as insane as if you couldn't use
       | the names inside a chat.
        
       | air7 wrote:
       | This backwards compatibility chain reminds me of the age old tale
       | of how rockets are the width of two horses... (1)
       | 
       | (1) http://astrodigital.org/space/stshorse.html
        
         | [deleted]
        
         | bmitc wrote:
         | That was fun.
        
         | chrisweekly wrote:
         | hahaha, that's great. thanks for sharing
        
         | mordae wrote:
         | This is pure gold. Thanks, you made my day! :-)
         | 
         | Also, you might be interested in this:
         | https://youtu.be/1NqRbBvujHY?t=2236
        
           | Nzen wrote:
           | While I enjoyed rewatching the latter half of episode 2 of
           | season 1 of James Burke's _Connections_ tv series, I don 't
           | see how the invention of the cloud chamber (which you start
           | the video at) is relevant to standards for rail, horses, or
           | rockets. What's the connection ?
        
           | msla wrote:
           | It's a dumb joke with no basis in fact.
        
         | naikrovek wrote:
         | I would love to know who fabricated this myth and decided to
         | just tell the story as if it were fact.
        
         | prpl wrote:
         | Similar reason why many telescope mirrors are exactly 8m
         | across.
        
         | failuser wrote:
         | This is a classic joke, but settling on a common gauge was
         | really difficult, it was not just copying some old Roman
         | standard. There were even riots when different railways started
         | to standardize because common rail gauge meant you can move
         | through the town without engaging with the local economy, see
         | Erie gauge war. Russia still has a wider gauge than Europe and
         | Australia has 3 different ones.
        
           | jmount wrote:
           | I rode a train in Spain where the train changed gauge at a
           | station!
        
             | elnezah wrote:
             | Spain has a peculiar train gauge. When you cross the border
             | with France, the train slows down and gauge change happens
             | on the fly.
        
               | jonny_eh wrote:
               | They also have to change sides: https://www.reddit.com/r/
               | MapPorn/comments/29i4hq/side_where_...
        
           | michaelmrose wrote:
           | Thanks for the anecdote that was interesting. I think the
           | Erie gauge war demonstrates that people feel entitled to any
           | advantage of circumstances that they have profited from in
           | the past as if such were their property even when the actual
           | matter are issue is in fact others property.
        
             | joncrane wrote:
             | This is precisely what large companies in the US do, they
             | gain an advantage, then when the advantage is threatened,
             | they use every tool at their disposal, including political
             | lobbying, to keep their advantage.
             | 
             | This is done under the guise of preserving shareholder
             | value.
        
             | extraduder_ire wrote:
             | I've seen this happen with planned bypasses of small towns,
             | either through individuals fighting CPOs for their land, or
             | people in the town opposing planning permission notices.
             | (there's a few I can think of where the council's current
             | plan involves waiting for certain people to die, since
             | that's less effort overall)
             | 
             | Usually such bypasses are great for these towns, as it
             | removes most of the articulated road shipping that needs to
             | pass through there, and generally makes it a nicer place to
             | be.
        
               | bombcar wrote:
               | It depends on the town, it can also kill or relocate it.
               | The town in Pixar's Cars is realistically depicted in
               | that way.
        
           | cf100clunk wrote:
           | I've come across an apocryphal tale in the U.S. west
           | describing why certain towns and cities have main streets
           | that are the width required to fully turn a wagon pulled by x
           | number of horses.
           | 
           | Likewise, in the Canadian House Of Parliament, the width
           | between the Prime Minister's desk and that of the Leader Of
           | The Opposition is said to be that of two swords raised, tip
           | to tip, based on the British House Of Commons tradition that
           | they must remain ''two swords and one inch apart.''
        
             | bombcar wrote:
             | Even today size of streets in many cities is determined by
             | the space needed to either turn a fire truck or have two
             | fire trucks pass.
        
           | [deleted]
        
         | Svip wrote:
         | The Romans did not use war chariots, since they are basically
         | useless in combat. They only used chariots for sports in the
         | hippodrome.
        
           | r0b1n wrote:
           | They used chariots not only in the hippodrome, also for
           | processions and other "shows".
           | 
           | But Roman warfare was a no-nonsense kind of affair, so no
           | chariots. https://acoup.blog describes this really well.
        
           | joncrane wrote:
           | The chariots in this example were more for transport and
           | logistics, not battle.
        
           | masklinn wrote:
           | Chariots are not "useless in combat", but they are very
           | expensive to field and only work in pretty narrow
           | circumstances: wide, open, and relatively solid areas (aka
           | not bogs).
           | 
           | These circumstances were not a thing for Roman legions until
           | they reached spain at least, possibly North Africa and the
           | Middle East. As a result they were not part of Roman war
           | doctrines.
           | 
           | On the other hand they were very much part of bronze-age
           | Egyptian and Hittite armies.
           | 
           | An other factor to their lack of appeal tho may have been
           | improvements in horse riding technique and gear, as well as
           | training. Riders can also be heavily armed, but have less
           | travel restriction, and you can field a warrior per horse
           | rather than need two horses and a driver per.
        
             | anthk wrote:
             | Spain is mountainous as hell; a chariout outside the
             | Castille plains and Madrid would be scrap.
             | 
             | Get a height map of Spain and you can obviously see that a
             | chariot trying to ride at Picos de Europa would be a
             | nightmare.
        
         | chx wrote:
         | tale it is
         | 
         | https://www.snopes.com/fact-check/railroad-gauge-chariots/
        
           | gmiller123456 wrote:
           | Snopes is not a good reference to cite, they have changed
           | many artlcles based on research they missed. They tend to
           | just want to get a page up when a topic is popular, then
           | research it later.
        
             | minsc_and_boo wrote:
             | I mean, correcting factual errors is pretty good trait for
             | a fact-checking site, right?
        
           | asynchronous wrote:
           | Kind of a garbage article because coincidence or not they are
           | similar widths.
        
             | dymk wrote:
             | It being a coincidence versus causal is entirely what makes
             | it interesting or not
        
         | msla wrote:
         | People actually still think this dumb joke is true?
        
           | ilyt wrote:
           | Well, there is no real way to disprove it and there is no
           | solid proof where it actually came from.
        
       | keepamovin wrote:
       | Ahahaha, I love this! I love how this new fandango thing harkens
       | back to the earliest days of MS-DOS when it ran on a 086 or 286,
       | back in the early (very early) 90s.
       | 
       | Have to respect MS' backwards compatibility fanaticism.
       | Impossibly as if a native port of MS Teams would be created for
       | MS-DOS 3.1 (hahahaha). When more plausibly the MS Teams servers
       | run on an ancient crazy proprietary MS-DOS 3.1 mainframe (still
       | implausible, but hey).
       | 
       | I know that this device name restriction also applies to Windows
       | file names, so it's not _that_ surprising (if you are inclined to
       | be _less_ fun than possible), but if you like fun, you can
       | pretend the former.
       | 
       | Relevant frag link: https://learn.microsoft.com/en-
       | us/microsoftteams/limits-spec...
        
         | mikestew wrote:
         | _earliest days of MS-DOS when it ran on a 086 or 286, back in
         | the early (very early) 90s._
         | 
         | About a decade off: MS-DOS was running on 8086 in the early
         | 80s.
        
           | keepamovin wrote:
           | Oh my god. Well i didn't receive my first one until the 90s.
           | And i grew up thinking i was middle class, my oh my.
        
             | dustymcp wrote:
             | depending on your country they might not have been
             | availible before
        
         | paulryanrogers wrote:
         | Agree BC is a laundable goal and appreciate their efforts.
         | Though I do wish it didn't include limiting passwords to
         | obscenely short lengths or absurd subsets of characters.
        
           | keepamovin wrote:
           | Yeah those 8+3 file names sure birthed some _creative_
           | abbreviations. Necessity, mother, all that
        
             | glonq wrote:
             | Whenever I create a filename that is long or has spaces, I
             | still pause and worry "okay, what might break if I do
             | this", even though such concerns probably died a couple
             | decades ago.
             | 
             | Actually _scripts breaking if files or paths have a space
             | in them_ seems to be a thorn in the side of dev /ops/it
             | folks that never goes away, does it?
        
               | ChrisSD wrote:
               | On Unix perhaps. Windows forced IT folks to deal with the
               | issue by having folders like "Program Files". Even the
               | user's folder used to be in "Documents and Settings" (but
               | they backed down from that eventually and now it's just
               | "Users").
        
               | xp84 wrote:
               | This was actually genius, though it was/is so annoying
               | typing these verbose paths
        
               | justsomehnguy wrote:
               | > but they backed down from that eventually
               | 
               | Only because they were started to hit MAX_PATH there:
               | C:\Users\Johnathan Aparecido da
               | Silva\AppData\Local\ASUS\ASUS System Control
               | Interface\AsusSoftwareManager         C:\Documents and
               | Settings\Johnathan Aparecido da
               | Silva\AppData\Local\ASUS\ASUS System Control
               | Interface\AsusSoftwareManager
        
               | WirelessGigabit wrote:
               | To this date one needs to be careful with executing
               | applications and spaces in the path.
               | 
               | For example:                   D:\test>dir         ...
               | 08/10/2023  09:29 AM    <DIR>          .
               | 08/10/2023  09:30 AM    <DIR>          Foo Bar
               | 08/10/2023  09:35 AM                79 Foo.bat
               | ...              D:\test>dir "Foo Bar"         ...
               | 08/10/2023  09:30 AM    <DIR>          .
               | 08/10/2023  09:29 AM    <DIR>          ..
               | 08/10/2023  09:35 AM                79 Foo.bat
               | ...                      D:\test>type Foo.bat
               | @echo off         echo Executable: %0         echo Path
               | to executable: %~dp0         echo Params: %*
               | D:\test>type "Foo Bar\Foo.bat"         @echo off
               | echo Executable: %0         echo Path to executable:
               | %~dp0         echo Params: %*
               | D:\test>Foo.bat hello         Executable: Foo.bat
               | Path to executable: D:\test\         Params: hello
               | D:\test>Foo Bar\Foo.bat hello         Executable: Foo
               | Path to executable: D:\test\         Params: Bar\Foo.bat
               | hello                  D:\test>"Foo Bar\Foo.bat" hello
               | Executable: "Foo Bar\Foo.bat"         Path to executable:
               | D:\test\Foo Bar\         Params: hello
               | D:\test>
               | 
               | Mess up the quotes and you're executing something one
               | level up.
        
               | Anthony-G wrote:
               | Unix shell scripts will break when filenames/paths have
               | spaces if variable expansions are not quoted, resulting
               | in word splitting and filename expansion (globbing). This
               | is something that is drilled into learners by all good
               | teachers, e.g., https://mywiki.wooledge.org/Quotes#When_S
               | hould_You_Quote.3F
        
             | queuebert wrote:
             | Brevity forces thought, which I prefer to "Putting a
             | Sentence in a File Name.docx".
             | 
             | FORTRAN originally had the same limitation for function
             | names, and that lead to some classics such as GEMM and
             | SAXPY.
        
               | pluijzer wrote:
               | Very loosely related, but I really dislike the excepted
               | design pattern for that cases where functions names are
               | something like
               | AssertThatOnePlusOneIsReturnAlwaysTwoAndNeverFive. It
               | looks ridiculous, smells like a hack, and I cannot think
               | of any reason why giving a description of the test
               | couldn't be handled by the testing framework in a more
               | graceful way.
        
               | prepend wrote:
               | Me too, I prefer function names like "assert_that_one_plu
               | s_one_is_return_always_two_and_never_five."
               | 
               | All kidding aside, but I gave up on this argument because
               | I think people either get it or don't and aside from
               | trying a little conversation or something with guidance
               | it's a "can't fix stupid" situation.
               | 
               | People usually want to explain why it's so important and
               | that's worse than suffering their long function name.
               | 
               | I think it's better to just accept ridiculous than to try
               | to get consensus on what's ridiculous and a spiral of
               | wasted time.
               | 
               | The upside is that it doesn't matter any more since long
               | function names are supported and work. And autocomplete
               | means it's just as easy to use as "ATOPOIRA" or whatever
               | madness they would name it with some restrictions.
        
               | xp84 wrote:
               | When it comes to file names, I disagree that brevity
               | serves a useful purpose. I name my files like I'm an
               | Amazon reseller so that I'm sure to find it with Search
               | later no matter which detail I remember. "Budget
               | Spreadsheet (worked on with Jane) with projections with
               | and without buying a new Tesla Model Y or Chevy Chevrolet
               | Bolt - 2023 2024 2025.xlsx" that's my idea of a file
               | name.
        
               | Dalewyn wrote:
               | If it floats your boat, you do you my dude.
               | 
               | But that being said, you're the reason why file systems
               | are abstracted away more and more with all file system
               | queries force fed through some kind of search engine.
        
               | djbusby wrote:
               | Those two are obviously GetExtendedMemoryMap and
               | Saxophone.
        
       | mepian wrote:
       | This is such a Microsoft thing to do. DOS compatibility will
       | haunt us for the rest of this century at least.
        
         | Ekaros wrote:
         | Sometimes I wish we had fresh clean slate OS.
         | 
         | Not the baggage of DOS or Unix... Something modern and sensible
         | without insanity of either system.
        
           | reginaldo wrote:
           | I hear GNU Hurd will hit 1.0 any day now[1] :) /s
           | 
           | [1] https://news.ycombinator.com/item?id=37036851
        
           | joncrane wrote:
           | TempleOS may be the closest we'll get for the foreseeable
           | future.
        
           | ilyt wrote:
           | It would just grow quirks like that over time, just like
           | every system before did.
           | 
           | It's impossible to make all the right decisions at the
           | beginning any big project that never get changed.
        
           | mseepgood wrote:
           | Sometimes, I wish other software products took compatibility
           | as seriously as Microsoft does.
        
           | cynicalsecurity wrote:
           | The baggage of Unix is gold. The baggage of DOS is manure.
        
             | Ekaros wrote:
             | Like everything being text? Pictures? Structured data?
        
           | dicytea wrote:
           | By the time it's mature, you'll wish for another one. That
           | is, if you're even alive by the time that happens.
        
           | wvenable wrote:
           | You need to clean slate the entire world because everything
           | is interconnected. If , for example, you want files to be
           | more than streams of bytes then you basically have to re-
           | invent the Internet as well.
           | 
           | The older I get, the more I realize that we don't need a
           | clean slate OS. If you pick any modern OS right now, the most
           | annoying parts are never the parts that were from 30 years
           | ago; it's almost always the newest thing.
        
             | throwaway290 wrote:
             | The opposite is true. You can convert anything to anything
             | at the boundary. The beauty of looser coupling
        
               | wvenable wrote:
               | You can't convert anything to anything at the boundary
               | and still have full interoperability. An example is
               | resource forks on classic MacOS -- they never played nice
               | with an Internet that assumes that files are only a flat
               | stream of bytes.
        
           | TillE wrote:
           | Google's Fuchsia is still the best bet for a genuinely new OS
           | that may at least find a niche.
           | 
           | Capability-based microkernels have been exciting research
           | projects for decades, and Google has apparently made one that
           | achieves acceptable performance, which was a significant
           | challenge.
        
           | rado wrote:
           | Haiku? (if finished)
        
             | jjgreen wrote:
             | To convey one's mood.
             | 
             | In seventeen syllables.
             | 
             | Is very diffic.
             | 
             |  _John Cooper Clarke_
        
       | CSMastermind wrote:
       | Some of those limits look unreal to me. Do they really limit you
       | to 200 people in a private channel?
        
       | acheron wrote:
       | I actually laughed out loud at that headline. Fantastic.
       | 
       | AFAIK those still can't be used as file system names, so I'm
       | assuming it's related to that.
       | 
       | Tim Paterson's Revenge.
        
       | wizofaus wrote:
       | The only thing defensible there is that channel names can't end
       | with a period - the same should be true of all URLs. Kids
       | especially when told to type in a URL will put the period/full
       | stop after it in the instructions they're reading from then
       | wonder why it doesn't work...if it simply wasn't allowed browsers
       | could just strip it off.
        
         | hunter2_ wrote:
         | Similarly, when drafting some sort of communication (email,
         | documentation, etc.) one might have a URL as the last "word" of
         | a sentence (or comma-delimited clause, etc.) and apply typical
         | rules of grammar that say not to use a space between the last
         | "word" and the subsequent punctuation. Then upon saving (or
         | upon viewing, or sometimes upon hitting the space bar,
         | depending on implementation) the automatic linkification kicks
         | in, and in my experience enough of them aggressively trim such
         | punctuation (period, comma, etc.) before setting the href that
         | people can get away without thinking about this, but some
         | linkification functions end up keeping it, yielding a 404 error
         | when clicked. High-usage products like email clients and chat
         | apps tend to aggressively trim, while lower quality products
         | like ticketing systems tend not to, as far as I can tell.
        
       | Roark66 wrote:
       | Why is it that most "chat/conference" apps become horrible sooner
       | or later? I still remember when teams used to be an OK app. It
       | even had a Linux desktop client. I remember when slack was
       | actually fast, I remember Skype out being more reliable to make
       | phone calls than my mobile/cell service. Today slack is extremely
       | slow if you add few organisations to it (but at least you can add
       | more than one). Teams has deprecated their Linux desktop client
       | and the only way to use it on Linux is via chrome, but wait, if
       | you use it as part of office365/sharepoint you need to use
       | Firefox for "some" sharepoint links. So essentially you need 2
       | browsers at all times. Chrome for teams (screen sharing and
       | video), Firefox for some sharepoint links.
        
         | nxobject wrote:
         | I think part of it is the constant drive to add features -
         | sure, we can do chat and video! But, what if we put background
         | blurring in there? Crap, Zoom has polls, we'll have to add
         | polls now... well, shoot, if we're cranking out features like
         | this and iterating quickly, we might as well use Electron.
        
         | eddythompson80 wrote:
         | Because believe it or not, a chat/conference is the most easy
         | gateway to an "everything app" just like with WeChat. Afterall,
         | a chat/conference app is a microcosm of the "internet".
         | 
         | Your chat app is great but imagine if we can send/share audio
         | clips too.
         | 
         | Your chat app is great but imagine if we can send/share video
         | clips too.
         | 
         | Your chat app is great but imagine if we can send/share live
         | video too.
         | 
         | Your chat app is great but imagine if we can send/share money
         | too.
         | 
         | Your chat app is great but imagine if we can send/share
         | conference meetings too.
         | 
         | Your chat app is great but imagine if we can send/share
         | calendar invites too.
         | 
         | Your chat app is great but imagine if we can send/share food
         | delivery requests too.
         | 
         | Your chat app is great but imagine if we can send/share gaming
         | sessions too.
         | 
         | Your chat app is great but imagine if we can send/share X too.
         | 
         | There is no limit on X. The internet is about sharing X. a chat
         | app is about sharing X. There is no bound to how much it can
         | grow really.
        
           | throwaway290 wrote:
           | That's why I'm not enthusiastic about Musk's vision for X...
        
           | akira2501 wrote:
           | Instant Message Chat + Anything Else isn't actually a model
           | for anything useful. It's a gross kitchen sink with chunks of
           | forgotten meals clogging up the drain. The insult is these
           | companies have nothing other than "productivity tool" as a
           | label to slap on the side of this fetid and entirely
           | unproductive mess.
        
           | h2odragon wrote:
           | "every program expands until it can read email... make that
           | netnews..."
        
         | cwkoss wrote:
         | > Why is it that most "chat/conference" apps become horrible
         | sooner or later?
         | 
         | To 'become' horrible there has to have been a period where it
         | wasn't. AFAIK that doesn't apply to teams, lol
        
         | prepend wrote:
         | The key is to be terrible and simple from the beginning. IRC
         | works just as poorly today as 30 years ago.
        
           | mschuster91 wrote:
           | Which is why its usage has declined ever more and more thanks
           | to Discord, which is a pain in itself. Freenode's collapse in
           | particular pushed a lot of people to just say "fuck it" to
           | IRC in general.
        
             | zelphirkalt wrote:
             | Although, at least what works today works tomorrow on IRC.
             | Same cannot be claimed from MS Teams or Discord ...
        
             | Dalewyn wrote:
             | Freenode collapsing had everything to do with humanity
             | being terrible and nothing to do with IRC itself.
             | 
             | Given similar people, similar collapses can happen to
             | Discord or any other communication medium of your choice.
        
             | mmis1000 wrote:
             | I think it is already killed by telegram even before
             | discord emerges. The only thing you can't do on other IM
             | other than IRC is having a really big chatroom that
             | contains thousands of people. But it is no longer the case
             | after telegram.
             | 
             | BTW, i think an irc bot is a good target if you are
             | starting to learn writing a network program. The protocol
             | is really simple(don't need complex xml parser...etc) yet
             | requires all technique you need to write a proper client.
        
               | tenebrisalietum wrote:
               | IRC is so trivial that hosting your own is easy. Telegram
               | is awesome but it's still centralized.
        
         | graphviz wrote:
         | The market rewards features and integration, not performance,
         | as long as an app is usable. Developers devel... I mean
         | features features features.
        
         | HPsquared wrote:
         | It's easier to add things than fix annoyances.
        
         | zelphirkalt wrote:
         | Wait, the MS Teams desktop app is deprecated? Never got any
         | message about that ... Guess I might soon be forced to use
         | double the evil, in Chrome and Teams in Chrome? Wow, the world
         | becomes more dystopian by the day. Perhaps I should quit my job
         | when I am forced to use Chrome. Well gonna use the desktop app
         | for as long as I can. They will probably never fix their broken
         | shit app, so that one can use it from any browser.
        
         | evouga wrote:
         | Because after your lean, highly-productive startup team creates
         | the app that everyone loves, you get a bunch of funding and
         | hire thousands of extraneous software developers and then have
         | to find something for them to do.
        
           | db48x wrote:
           | Thousands of engineers and managers and product designers who
           | can only get promoted if they look successful, and who can
           | only look successful if they can add features.
        
         | duxup wrote:
         | The app that does everything always seems to stink.
         | 
         | It's no coincidence that my favorite note taking app is ...
         | Apple's Notes App. I've used other apps but I've found that all
         | that heft from all the extra features makes it more of a hassle
         | for me in the end.
         | 
         | I get how it happens, even my current employer / small team are
         | looking into internal documentation routes and ... oh man the
         | list of things people want just goes on and I fear leads to
         | some beastly solution.
        
         | ikekkdcjkfke wrote:
         | Entreprise wishes i guess? Just look at all the group policies
         | for windows update..
        
       | prepend wrote:
       | Teams is so weird, " Number of org-wide teams allowed in a
       | tenant" is limited to 25.
       | 
       | So my company can only have 25 "general" teams.
       | 
       | I think it would be neat to learn the rationale behind some of
       | these settings.
        
         | terom wrote:
         | The 52 limit seems small, but at least you can have 500,0003
         | teams in Microsoft 365 Office organization - 1.25E17 should be
         | plenty, that's around 15M teams per person on the planet;)
         | 
         | Perhaps they should rethink the use of numbered superscripts
         | for notes in that table....
        
         | rejectfinite wrote:
         | You want the ENTIRE company to be auto added to more than 25
         | teams?
        
         | ratg13 wrote:
         | Probably to protect people from their own ignorance.
         | 
         | If you are participating in 25 teams, it's likely already too
         | many, general or not.
         | 
         | Having to navigate 25 teams that are full of stuff doesn't
         | concern you sounds like an absolute nightmare.
         | 
         | You'd burn out everyone in the organization with a setup like
         | this.
        
           | Ekaros wrote:
           | And this is about organization wide teams, meaning those
           | teams that people are automatically joined in, with up to
           | 10000 members... So probably something you want to steer
           | people away from.
        
       ___________________________________________________________________
       (page generated 2023-08-10 23:01 UTC)