
An error message, still found in Windows 10, is a mistake from 1974 - InclinedPlane
https://threadreaderapp.com/thread/1058676834940776450.html
======
koyote
Back in the good old days of the early(er) internet, back when you could do a
port search on 21 to find random machines with anonymous FTP access, a lot of
the machines you'd find were inevitably Windows machines.

A 'trick' used by the file-sharing community in order to hide their files on
these anonymous FTP servers was to create some nested directories with these
kind of keywords. The FTP server allowed you to create the directories as well
as access them (if you knew the full path) but on Windows they would just
cause errors or crashes if someone tried to access them. Combine that with the
ability of creating directories with just spaces as names and you could hide
quite a bit of stuff from the unsuspecting FTP server administrator.

~~~
TimTheTinker
In my high school’s Windows For Workgroups 3.11 lab, we used to hide local
installs of Doom, Descent, and other DOS games under a folder named the
character Alt+255 (which looks like a space in DOS and was invisible to
Windows Explorer).

The lab admin had disabled Ctrl+C and Ctrl+Break to keep folks from breaking
out of the DOS-based login prompt to a C:\ prompt, but I somehow figured out
that Alt+3 passed an equivalent character and had the same effect.

I once got yelled at for being “in the lab too much” by one of the teachers,
but I never got in any trouble. I suspect the lab admin (a kind older
programming and math teacher) knew what we were up to.

~~~
xvf22
I had a similar experience but amongst other things I got everyone's passwords
and figured out how to bypass / control this weird bookshelf launcher whose
name escapes me now. The head computer teacher found out but didn't make a big
deal about it. Instead, me and a friend ended up getting hired by the school
for our last year and got an office with a coffee machine since we were easier
to deal with than the school boards IT.

~~~
ndespres
I wonder if you're talking about the launcher for managed classic Mac
workgroups, At Ease. I have an almost identical experience to you, including
the coffee machine (though more of a closet than an office).

~~~
mikey_p
All it took to get around At Ease was to hit the interrupt or programmers key
(which on newer Macs was cmd + the power button on the keyboard). That brought
up the micro debugger, and you just had to type "G FINDER" and it'd dump you
right out to the Finder.

Eventually our folks replaced At Ease with some other app, (Cyber something,
control something? no idea) but they setup a hotkey to disable it which was
nothing less than shift + K. That didn't last long at all, with Karla, Kyle,
Keith, and Katie getting incredibly frustrated just trying to type their name.

~~~
apostacy
I remember on Deep Freeze for Windows, I was able to find the password in
plaintext by searching win386.swp for the deepfreeze copyright string.

------
thristian
Fun facts:

The reserved names are things like "COM" and "LPT" followed by a digit... or
at least, a thing that Unicode recognises as a digit, so "COM²" is just as
broken as "COM2".

This device remapping is done in the Win32 layer, not the NT kernel, so you
can often use "verbatim path syntax" to bypass these hacks. So
"C:\Temp\COM2.TXT" is a magic device, but "\\\?\C:\Temp\COM2.TXT" is an
ordinary file you can read or write without issue... until you try and look
into C:\Temp with a program that doesn't use verbatim paths like Windows
Explorer, and all hell breaks loose.

~~~
nightfly
It amazes me that Windows Explorer (literally the most common way of
interacting with files directly in windows) has so many limitations...

~~~
tragomaskhalos
It amazes me that (a) it has an unhealthy relationship with the task bar - eg
crashing it can take the task bar down too, (b) MS keeping messing about with
it and _removing_ useful things (c) 1989's xtree was better, (d) its search is
horrible (e) like you say, that any of these issues are a thing considering
how central it is to all Windows users

~~~
Starwatcher2001
I still use ZtreeW64 almost every day. It's a clone of the old xtree and still
very useful.

~~~
voltagex_
Thanks for that. May I also recommend "Everything" [0] - multi-drive search is
very useful for people like me with an unholy number of files.

0:
[https://www.voidtools.com/downloads/](https://www.voidtools.com/downloads/)

~~~
naikrovek
Not enough people know about Everything. It's excellent, small, and faster
than Windows search will _ever_ be.

------
antonyme
It's not a bug - it's a feature: reserved filenames which have special
features and functions. And it has been preserved through DOS, and Windows
over the years as part of Microsoft's philosophy of "compatibility at all
costs".

There are many, many examples of similar (mis)features. Not sure why this
particular one is getting so much attention. But yeah, if you know the
history, it's not really surprising.

For anyone interested in this sort of software archeology, have a look at
Raymond Chen's blog
[https://blogs.msdn.microsoft.com/oldnewthing/](https://blogs.msdn.microsoft.com/oldnewthing/)
which is full of this stuff. Very interesting reading.

~~~
isostatic
"The file AUX.H is too large for the system"

That's a bug. It should say something closer to "The filename AUX.H is a
reserved filename and can not be used by this system"

~~~
kjaer
I just tried it on Windows 10, and the error message is:

    
    
        This file name is reserved for use by Windows. Choose another name and try again.
    

So at least that has been fixed.

~~~
isostatic
Never used it. What’s this screenshot from?

[https://pbs.twimg.com/media/DrEsBhgUUAACZga.jpg](https://pbs.twimg.com/media/DrEsBhgUUAACZga.jpg)

~~~
naikrovek
That's Win10. I suspect in that screenshot that the file is indeed too big for
the filesystem. I don't know how that could be (the "no more free space"
message is different.)

~~~
isostatic
9.57KBytes? That would be a very full disk!

~~~
naikrovek
Or a very oddly formatted one.

The disk full message is different, so my money is on an oddly formatted disk.

------
tdeck
Apparently they _did_ think of namespacing these devices files way back in the
day. According to Wikipedia:

"Versions 2.x of MS-DOS provide the AVAILDEV CONFIG.SYS parameter that, if set
to FALSE, makes these special names only active if prefixed with \DEV\, thus
allowing ordinary files to be created with these names."

~~~
mcv
Had they done that, it would have been fine.

It's bizarre that once it became clear that this was going to be a problem
(when harddisks and directories were introduced, or with Win95, or XP at the
latest), they didn't decide to deprecate the stupid way and push everybody to
use the sensible way.

You may have to support both ways for a while, but once you start supporting
stupid ideas like this out of a need for backwards compatibility, it should be
obvious that it'll never go away unless you make it go away. Maybe allow old
software to run in QDOS-compatibility mode or something. It's just insane that
this is still a real limitation in Win10.

~~~
AnIdiotOnTheNet
All OSs have silly legacy-based limitations. The problems caused by this
compatibility feature were just never frequent enough to warrant attention.
Nowadays Microsoft has less give-a-damn for user suffering than ever before,
so I suspect that this bug will be in Windows right up until Microsoft finally
stops pretending to care about the Desktop and abandons it.

~~~
gus_massa
Quoting Linus:

> _If a change results in user programs breaking, it 's a bug in the kernel._

~~~
mcv
But it doesn't have to break anything. Programs written for DOS or old Windows
version already tend to run in compatibility mode. You can have these devices
be "everywhere" when the program runs in PC-DOS compatibility mode, and in
\dev\ when it's not.

~~~
ygra
So you lock cmd in compat mode for all eternity because there are batch files
that use such things?

~~~
mcv
cmd is pretty crap anyway. Good excuse to phase it out together with the
'everywhere' devices, and replace it with a better command shell.

------
Stratoscope
This brings back fond, or not so fond, memories.

Back in the earliest days of Windows, I wanted a way to log some debug output,
and there were not a lot of options. You could write to the AUX device, _if_
you had a serial terminal attached.

So I figured I would write a device driver that redirected AUX output to the
monochrome display, glass teletype style, while Windows ran on the color
display.

Naturally, I named it AUX.SYS, with a source file called AUX.ASM.

Oops. That didn't work too well.

Eventually I figured out that I couldn't name any file AUX.anything.

I was going to call it AUXDRV.SYS instead, but then I thought it would be fun
to use a name that _sounded_ like AUX but wasn't spelled that way. So OX.SYS
it was!

~~~
oneeyedpigeon
Being a nerd, I’m surprised you didn't go with ORCS.SYS ;-)

(Unless, in your dialect, you don’t pronounce 'orcs'and 'aux' in exactly the
same way, as I do)

~~~
evincarofautumn
In my accent (a rhotic New England without the _cot–caught_ merger) they’re
all different:

• “ox” /ɒks/

• “aux” /ɔːks/

• “orcs” /ɔɹks/

But hey, close enough for a pun anyway. My favourite rhymes and puns are those
that work in any accent, but it’s a bit harder to come by one that’s not
overused.

~~~
oneeyedpigeon
Actually, you've reminded me that some of the best puns are the ones that
don't _quite_ work anyway. Part of the reason "surely you can't be serious..."
is so funny is that it's tortuous to the point of absurdity!

------
eponeponepon
I think I've told this story before, but several years ago I discovered this
stuff for myself.

I had tidied up a script distribution that had been unloved for a while and
got a bit out of hand. I'd been working at home on a Debian laptop, and
committed my changes back to Subversion - one of which was to gather up and
organise some auxiliary files into one neat and tidy directory. Naturally,
since the script already had ./bin, ./lib and ./etc, I went with aux.

I came into work after the weekend to find my Windows-based colleagues, who
were in the habit of checking out a single working copy of the entire repo, in
full panic mode because "Subversion is broken, IT say we might have lost
everything"...

These days I name aux directories 'etc'.

~~~
tux3
This gives a whole new meaning to source code not being portable.

~~~
satysin
I have lost count of the number of times I have checked out a large Java
application which hits the 256 character MAX_PATH limit on Windows. Is a huge
pain in the ass as checkout from git or whatever usually works fine but when
you try and access the 40 deep folder tree Explorer will error on you.

~~~
Drdrdrq
While I have as much disrespect for Windows and MS in general as any web
developer who had to deal with IE, I think this issue is a bug in Git.

Windows git executable should be aware of OS limitations and should be able to
work around them. Of course, Windows API should also fail to create invalid fs
objects, so there's that...

~~~
satysin
I kind of agree and disagree at the same time.

Microsoft provide file system access which is not impacted by MAX_PATH and
that is what git is using when it writes to the file system. If anything I
think Microsoft should fix Explorer which they kind of have in Windows 10 with
the long path option.

I don't know enough about why Microsoft still have the MAX_PATH problem. I am
guessing, like most things Microsoft, it is due to legacy compatibility.

------
andyjohnson0
_" The project that eventually became the .NET Framework was originally called
COM3. I quickly realized this was a bad idea because of this bug. We then
renamed it to COR (Common Object Runtime)."_

[https://mobile.twitter.com/ckindel/status/105881379620925440...](https://mobile.twitter.com/ckindel/status/1058813796209254401)

------
agumonkey
Read about Microsoft never ending list of compromises on
[https://blogs.msdn.microsoft.com/oldnewthing/](https://blogs.msdn.microsoft.com/oldnewthing/)

I don't even blame MS nowadays. My idealism is weaker than my nostalgia.
Without these hacks MS would probably die long ago. #worseisbetter

------
CoconutPilot
There are bugs, there are design flaws, and there are limitations. Often
people are confused how to classify an issue between these categories.

This is a 44 year old limitation.

~~~
perl4ever
Not expecting a limitation like this could lead to undesired behavior (it
did!), which would constitute a bug. Maybe 44 years from now, someone will
have a nanotech brain implant, and happen to read this tweet and think "AUX.H"
and their implant will crash, and they'll have a seizure and fall in front of
a bus. Technically, it was a "limitation" passed on, but it turned out there
was an associated bug.

~~~
jerkstate
Hopefully 44 years from today, these timeless words will still echo:

"it's not a bug, it's a feature!"

------
lgeorget
There's one thing I don't understand. Why was the colon dropped from the
special name? I personally remember typing things such as "copy CON: sys.ini"
to create heredocs. Programs could have redirect their output to "AUX:.H" or
"CON:.TXT" and the problem described by the author would not exist since the
colon is not a valid character for a filename. Is it because programs did not
let you pick a name with a colon in it?

~~~
int_19h
There never was a colon in special device names in DOS.

~~~
gpvos
I remember using colons for these, and have never used CP/M.

~~~
Narishma
The colon wasn't needed in DOS. If you added it, it was just ignored.

------
jordsta
@foone is very quickly becoming my favourite account to follow on Twitter. He
posts at least one super insightful Twitter thread every day or two about some
fascinating quirk about computing history. Beats hitting
Wikipedia:Special:Random for sure.

------
richard_todd
At least we can explain it away in terms of backwards compatibility.

Here's a quirk that's harder to explain: open a powershell window in windows
10. Hit alt-enter rapidly to switch back-and-forth to full-screen mode while
looking at the min/max/close buttons. You can see flashes of windows-vista-era
buttons. Is the new look just painted on top of the old one? That's crazy!

~~~
Jasper_
I'll explain it: In the olden Windows days, the application is in charge of
painting its titlebar by handling the WM_NCPAINT message. The default window
handler for this will paint the Windows Vista-era buttons.

During Windows 7's development, the responsibility of painting window frames
moved from the application to a separate process known as the Desktop Window
Manager, "dwm.exe". DWM tells the app that it should stop drawing its own
frame when the application is windowed, and tells it is in charge of drawing
"the frame" when fullscreen.

This is communicated using an asynchronous protocol (private window messages),
thus during the transition it's possible for the window's idea of its frame
state to be "out of sync" with the real state because the client hasn't
processed all of its messages yet.

~~~
richard_todd
Wow, it's great to be able to finally connect the dots on that one, so thanks
for the explanation. I guess either there is a subtle reason why it would be a
bad idea to update the old-style handler, or they just never got around to it.
Either way, I'm just glad the titlebar isn't being drawn twice at all times.

------
richev
Related post from Raymond Chen's "The Old New Thing"
[https://blogs.msdn.microsoft.com/oldnewthing/20031022-00/?p=...](https://blogs.msdn.microsoft.com/oldnewthing/20031022-00/?p=42073)

~~~
colatkinson
Chen's blog and book are both amazing. Highly recommend if you've every asked
yourself, "Why the hell would MS even conceive of doing this?"

------
tomohawk
This is also why windows has the back slash for file names instead of the
forward slash. When dos 1 came out with no directories, the forward slash was
used for command line parameters. When directories where introduced in dos 2,
the forward slash was already 'taken', so they used the backslash for
backwards compatibility.

~~~
efreak
Any source for this? I see no reason why the same character can't be used in
multiple places. Parser should parse the command line until it finds a
command, then send the rest of the line to it, regardless of content...

~~~
macintux
[https://blogs.msdn.microsoft.com/larryosterman/2005/06/24/wh...](https://blogs.msdn.microsoft.com/larryosterman/2005/06/24/why-
is-the-dos-path-character/)

Update: this link adds the tidbit that IBM was concerned about 3rd party
utilities that made assumptions about the slash.

[https://www.howtogeek.com/181774/why-windows-uses-
backslashe...](https://www.howtogeek.com/181774/why-windows-uses-backslashes-
and-everything-else-uses-forward-slashes/)

------
alkonaut
It’s never a good time to take a breaking change. Microsoft has had a pretty
extreme view of what’s “compatible”, including what seems to be a desire to
not break existing applications that rely on undocumented or buggy behavior.

I’d want to argue that removing bugs and fixing things like this should just
be done with a reasonable notice period and if some aging system in the
basement of a fortune500 company blows up then I’m sure that can be solved
too.

This said, I find the 70s smell more present and annoying in a Unix terminal
than in Windows explorer. All the big OS’es are dinosaurs and it will show up
here and there.

~~~
jacob019
There's no need to break the old stuff. Applications can signal compatibility
level so that new applications need not support legacy cruft.

~~~
oneeyedpigeon
So your OS is always a bloated superset of its entire history?

~~~
jacob019
Old compatibility levels can be deprecated at some point, this would qualify.

~~~
anticensor
Windows already does it. The problem being there is no manifestation mechanism
in MS-DOS executable format. No, it is harder to work with such a system.

------
raverbashing
So, the question would be, why would Windows not remove this limitation from
the main OS and only keep it on backward compatibility mechanisms (like the
DOS prompt which runs - or used to - in virtual 8086 mode?)

~~~
rossy
They probably can't remove it as long as they have Win32. Real Windows
programs sometimes do things like fopen("con") or CreateFile("nul", ...) for
the same reason a program might open /dev/null or /dev/tty on Linux. I guess
you could ask why Microsoft didn't remove this feature when they created
Win32, or why they still allow forms like "C:\dir\nul.txt".

~~~
mcv
But even so, why hasn't Win32 supported \dev\con since forever? Then programs
could use that and the old stupid way could be phased out.

~~~
mishac
You'd have to modify and recompile the old programs, which may not be
possible.

~~~
mcv
No you don't. Run them in compatibility mode. You often need to do that
anyway. A _lot_ changed between PC-DOS 1 and Windows 10. It's ridiculous that
this didn't.

~~~
ygra
Compatibility mode applies to processes, though, which raises a problem with
batch files (or scripts) that use those things, as you'd then have to make cmd
always run in compatibility mode (or Python, or Perl, etc.).

~~~
mcv
I don't think Python and Perl existed back then. You do have a point with
batch files. Well, maybe some sort of compatibility mode should exist for them
too.

------
tjoff
Images don't load for firefox for me with trackers blocked (which is default
in private mode). Had the images had a caption or something I would at least
have known the image wasn't an ad but something relevant to the article.

~~~
kalleboo
There aren't image captions since this is a Twitter thread, not an actual blog
post

~~~
DanBC
Twitter allows people to add image captions.

[https://twitter.com/_Red_Long/status/948577112860086272](https://twitter.com/_Red_Long/status/948577112860086272)

~~~
jccooper
That's neat. Too bad it's entirely buried and no one uses it.

------
commandlinefan
I was a CS major in the late 80’s, and we’d regularly have communications
majors come in to the CS lab to write their papers (this was back before most
people had their own computers). At least once a week, one of them would save
their paper as “COM1”... and shut off the computer and go home, thinking they
were done.

------
gecko
I've written about this before ([https://www.bitquabit.com/post/zombie-
operating-systems-and-...](https://www.bitquabit.com/post/zombie-operating-
systems-and-aspnet-mvc/) ); we had to work around this on Kiln back in ~2010,
because it meant that Unix users couldn't even access files named things like
"aux.h" that were stored in their Mercurial repositories.

That said, I had an error in that original post which this weirdly replicates:
CP/M doesn't actually have quite this same error, because these names show up
through the PIP command, IIRC. I really want to link to the correction, but I
can't find someone telling me what the actual correction is from the last time
that got posted.

------
reffaelwallen
Is this it? [https://github.com/Microsoft/MS-
DOS/blob/master/v2.0/source/...](https://github.com/Microsoft/MS-
DOS/blob/master/v2.0/source/PRINT_v211.ASM#L254)

------
roywiggins
A coworker got forcibly introduced to this when he was writing a script that
generated several thousand files that he'd decided to name alphabetically.
Eventually AAA turned into CAA turned to COM and accessing the resulting file
failed, and I got the immense pleasure of being able to explain this.

------
f055
Now that’s what HN is all about! Great read, thank you! And if you want to
listen plenty to Gary Kildall, go YouTube “Computer Chronicles”.

------
janee
Some part of me hopes this bug/limitation/legacy behavior is never addressed.
How crazy wouldn't it be if this behavior somehow survives for the next 44
years. I find things like this fascinating, it's like digital archaeology for
me.

------
pmontra
The wrong idea was to have file name extensions. The .whatever should should
be part of the file name and have no special meaning.

All Unix derivatives look at the first bytes of the file to understand what it
is. See man 5 magic for details. The shebang #! is one of those magic values
and it makes the OS read the next bytes up to an end of line to get the
interpreter and arguments to pass the rest of the file to.

Maybe CPM used extensions to gain some speed (no need to inspect the file),
not that hardware running Unix was fast by today's standards. Or maybe to
force users to declare the purpose of the file in the name. However, as all
unnecessary things it eventually came back to bite people.

~~~
bhaak
That's still the wrong approach. You can easily get wrong types from that
(e.g. look at the output of "echo FORM > /tmp/mismatch ; file /tmp/mismatch")
and that opens up annoying problems for the user in the best case and security
issues in the worse case.

The data type of a file is metadata and metadata shouldn't be determined by
in-band signaling.

What are you going to do if your system miscategorizes a file? File name
extensions are not ideal either as they overload the file name (they are out-
of-band signalling regarding the content of the file but in-band regarding the
file name) but at least you can change them yourself.

~~~
marcosdumay
What is the alternative? If you don't trust the information that is sent with
the file, do you expect the user to decide on the format of each file?

The file type is an inherent pair of the file content, and must move together.
Otherwise your images and documents become only a meaningless set of bytes.
The information that "this is a png image" is as much a responsibility of the
machine that is sending you the file as the pixel data.

Also, yes, accepting random data from a network is a big security risk. It's
up to your OS to handle that data in a secure way, but this is not done by
removing the "this is an executable" mark.

~~~
Drdrdrq
The obvious alternative is to have metadata about file in a separate
descriptor, which could be saved either in first N bytes of the file, or in
the file allocation table itself. However implementing this in this age would
be impractical as it would break interoperability with every other (still
alive) OS out there.

~~~
keketi
> have metadata about file in a separate descriptor

Maybe that metadata could be stored in the file's name, like
"<filename><separator><format identifier>" or something?

 _ducks_

------
13of40
An even earlier bug in Unix that considers "file.txt" and "FILE.TXT" two
different files is still causing user anguish to this day. I mean, honestly,
can any of you raise your hand and say that's made your life better?

~~~
paulddraper
Raises hand.

(1) My Buck BUILD file can exist alongside my build/ directory.

(2) Outside of a 0x00 or 0x2F byte, I love not having to think about locales,
character encodings, normalizations, etc. especially as I am sharing files
across computers which may use different values for these.

macOS went from case-insensitve to optionally case-sensitive for what I
suspect are similar reasons.

~~~
13of40
Fair anecdote, but compare that to all of the untold millions of times
someone's day has been derailed because they didn't push the shift key. It's a
user interface, not an API.

~~~
Drdrdrq
Does that really happen? Both CLI and GUI utils help find the correct file
name (using Tab and by sorting, respectively). Can someone raise a hand if
that happens to them?

~~~
hurrrrr
_raises hand_ not with gui but with cli.

Autocompletion stops early because 'SomeReallyLongSourceName.h' and
'SomereallyLongSourceName.cpp' are not the same after the fifth letter. It
breaks globbing.

------
phaedrus
One time in the mid to late 2000s I had a PC motherboard with a BIOS
configuration or hardware problem; the boot process started falling back: hdd,
CD, fdd, netboot... Finally it brought up the message "ROM BASIC NOT FOUND". I
wonder how long THAT error string has been in the AMI BIOS and how long since
anyone has seen it!

------
mgliwka
This bug even haunts Azure Functions:
[https://twitter.com/troyhunt/status/1059254759293542400?s=21](https://twitter.com/troyhunt/status/1059254759293542400?s=21)

------
Domark
This reminds me of the C$ trick for networked Microsoft computers.

Full read access on the entire volume!

~~~
shallowprize
Those were the days. You could use Windows Explorer to browse the entire HD of
half the computers in your neighborhood. Boy did we find some gems...

~~~
gerdesj
What do you mean those were the days? I use this pretty much every day at
work. c$ etc are default shares that appear if you turn on File and Printer
sharing. The NTFS ACLs default to read if you are an authenticated user (RW
for local admins) and the share ACL is probably local admins only (domain
admins get that by default). So, \\\machine_name\c$\tmp works exactly as I
need it to on say Windows server 2016.

~~~
marcosdumay
File sharing defaults into disabled nowadays, and it will only accept users
authenticated on the same domain as the computer. It used to default into
enabled, and grant read access to anonymous users.

------
schindlabua
So.. can i still write to LPT on my win10 machine and have my printer print
something?

~~~
tyingq
Yes, if it's a parallel port printer.

Or, share your modern printer, then:

NET USE LPT1 \\\server\shared_printer

------
bscphil
Original Twitter link for those who want to avoid the broken garbage that is
threadreader.
[https://twitter.com/Foone/status/1058676834940776450](https://twitter.com/Foone/status/1058676834940776450)

archive.org link:
[https://web.archive.org/web/20181104213003/https:/twitter.co...](https://web.archive.org/web/20181104213003/https:/twitter.com/Foone/status/1058676834940776450)

------
crankylinuxuser
BTW, here's my tweet about this...

[https://twitter.com/jwiechers/status/1059039735929282560](https://twitter.com/jwiechers/status/1059039735929282560)

And here's my personal tweet:
[https://twitter.com/CrankyLinuxUser/status/10558609139858063...](https://twitter.com/CrankyLinuxUser/status/1055860913985806336)

I credit HN user "ageitgey" for this.

------
paulmooreparks
I wrote code in 1993 to deal with this in a DOS-based document-management
system, PC DOCS. If users of the system created files with these names, it had
to change them to some tokenised version that would then magically re-appear
as the original name when requested. I don't remember the exact algorithm, but
I remember it was a lot more complicated than I thought it would be when I got
the assignment.

------
kanox
It's not a mistake! Compatibility is a feature, and quite a difficult to
maintain one at that.

------
sys_64738
Keyboard Error. Press F1 to Continue!

~~~
efreak
I remember that. Every single time I booted.

------
0xcb0
So using a VM running Linux I can create a 'aux.txt' on a mounted share and
write to it. In Windows I can not open/rename/delete the file. Not through the
explorer and not through the command line.

This seems just wrong and also dangerous in my eyes.

------
thejerz
For those not familiar with CP/M and Gary Kildall's pioneering role in PC
history, this Youtube video is educational:

[https://www.youtube.com/watch?v=OVqBokd3l2E](https://www.youtube.com/watch?v=OVqBokd3l2E)

------
joezydeco
I'm still affected by this. We checked our build of the Linux kernel into our
version control server. A couple of legacy drivers have files named aux.h,
which now screws up any Windows user that tries to check out that branch.

------
Myrth
Reminds:
[http://www.astrodigital.org/space/stshorse.html](http://www.astrodigital.org/space/stshorse.html)

------
ccnafr
This looks like pure legacy code and not actually a bug...

------
kerng
Well, strictly speaking not a bug. Its by design. :)

------
Endy
The more I see of these things, the more I see reason to have partitions, or
real drives, with every OS from DOS 5 to the presence.

------
slededit
I don’t see how you can “fix” it without breaking a ton of stuff. I guess they
could do a compatibility shim.

------
jhoechtl
Explanation? I guess it has something to do with the league of special file
names like CON NUL and PRN?

~~~
wolfd
The tweet is the start of a long explanation, btw. The poster makes a few
corrections at the end, but the story is worry reading.

~~~
zaroth
I’d worry too, trying to read a blog post spread out across 100 tweets.

------
mark-r
I hadn't realized that CP/M dated from 1974, that's older than the Altair!

------
dwighttk
>Babe Ruth's home run record was about to fall.

1961?

------
shmerl
Images aren't loading.

------
itomato
RIP @foone's inbox

------
nicetryguy
> This idea was brought into CP/M by Gary Kiddal in 1974.

> Gary Kiddal

....I just died a little inside

~~~
Endy
Why?

~~~
omnibrain
Perhaps because of the misspelled name. His name was Gary Kildall. Btw, I can
highly recommend some of the old Computer Chronicles episodes with him as co-
host. They are available on archive.org.

------
informatimago
But a bug, a feature!

------
jokoon
TLDR: the AUX filename is reserved.

Apparently this post is just a series of copy pasted tweet, which makes it
quite difficult to understand.

------
ndnxhs
Does anyone else get a message saying "you are rate limited try again later"
on twitter? I'm not on a vpn

~~~
rntksi
Yup happened to me when using Firefox Focus with tracking disabled & no
cookies.

Using Chrome didn't trigger that error.

~~~
ahoka
Same here with Firefox + ublock.

------
3ds
Easier to read:
[https://threadreaderapp.com/thread/1058676834940776450.html](https://threadreaderapp.com/thread/1058676834940776450.html)

------
karmenblack
What is the error? Clickbait title and the error buried in the wall of text...

~~~
Jo_anone
[https://threadreaderapp.com/thread/1058676834940776450.html](https://threadreaderapp.com/thread/1058676834940776450.html)

~~~
karmenblack
That doesn't tell what is the error

