
What Mac OS’s case-insensitive filenames teaches us - paulbjensen
https://medium.com/@paulbjensen/what-mac-oss-case-insensitive-filenames-teaches-us-cd8feee7b0b3
======
latchkey
The filesystem is case preserving.

[http://www.informit.com/articles/article.aspx?p=1144082&seqN...](http://www.informit.com/articles/article.aspx?p=1144082&seqNum=4)

------
mikl
It’s not just macOS, Windows has the same, with all the same associated
problems.

For that reason, I generally prefer to keep all file names consistently lower-
case - user_account.ex over UserAccount.ex. It’s just as easy to read, if not
more so.

We have enough other things to worry about as programmers without having to
think about correct capitalisation of file names.

------
michalc
I think it also teaches that Postel’s robustness principle isn’t always a good
thing.

If the MacOS filesystem was not case-insensitive, i.e. it was _less_ liberal
with what it accepted, the reported issue wouldn’t have happened.

------
nkristoffersen
Ran into this issue with CI and git. Was so difficult to track down. Now all
Macs on my team are reformatted to be case sensitive because of this.
Thankfully it's an option now.

~~~
minimaul
It’s been an option since basically forever (I think you could use HFS+ case
sensitive on Tiger, even).

But it breaks a large number of apps, so do it with caution.

~~~
rovr138
And this is still an issue

I have had issues with this and instead of formatting, due to issues, what I
ended up recommending was creating disk images, mounting them correctly and
putting files there.

------
ikrtx
This is written as if it was some kind of lesson on philosophy. Why were you
even using uppercase letters in your file names to begin with?

~~~
paulbjensen
I was applying a pattern of naming the files containing ORM Models with a
capital, in order to represent that they contained a javascript class as their
default export.

e.g.

    
    
        class Admin extends Model {
        };
    
        export default Admin;

