4 comments

  • castral1 hour ago
    It feels wrong but I can't quite put my finger on the reason why... It will make version control more hectic, for sure. It also seems to be conflating identification with configuration which seems non-ideal. What about versioning and upgrading? How do I find a "well-known" entry point with a file name of flags? Every read now becomes an expensive find and grep lesson... Yeah, I don't like it.
    • vector_spaces12 minutes ago
      This strikes me more as a matter of taste, i.e. more art than something which can be provably wrong, or correct for that matter. The concerns you outlined might be concerns the author doesn&#x27;t have to worry about for whatever reason -- if this fits neatly and seamlessly into their existing workflows then that&#x27;s great, and I for one appreciate learning about other peoples&#x27; approaches like this even if they don&#x27;t immediately work for me<p>IMV it&#x27;s a clever trick, and like you my instinct is that if I attempted to integrate this into my own workflows, I would endure some sort of hardship down the line but it&#x27;s not immediately obvious when or how. Or maybe for certain things it would be fine and less painful than other options, like other similarly clever tricks I felt uneasy about at first
    • Charon7756 minutes ago
      If the rename changes the entire behavior (see busybox comment) it makes sense. But defining multiple arguments? Now the author had to use -- in the file name where using space would do (and the OS splits it for you)<p>And good luck trying to run the same programs with different arguments. You&#x27;ll have to take turns renaming the file, or create hardlinks just for ephemeral arguments.<p>It can be useful but there&#x27;s time and place to do it.
  • csb61 hour ago
    Seems a lot easier to have a --help flag that lists all of the options and their function. That is self-documenting (assuming the descriptions are useful) and helps with discovery. Changing the name of the file to foo--bar.exe doesn&#x27;t seem any easier than writing foo.exe --bar
    • ziotom7857 minutes ago
      I too was perplexed, but the main use case seems to be when you want to <i>share</i> a particular configuration or need to be sure that you always use the same set of flags:<p>&gt; Flags are <i>ephemeral</i> – you have to share the command line or wrap it in a script. Scripts depend on environment, which can break portability. Filenames solve both: the program describes itself, requires zero setup, and <i>any configuration can be shared</i> by simply renaming the file.<p>[Emphasis added] Although I find a script that wraps the command and calls it more versatile, there might be some value in this idea for some very simple cases, like example #4.
    • nxpnsv36 minutes ago
      I guess you could rename it to foo--bar--help.exe to get the help. An awkward workflow indeed
  • abrookewood58 minutes ago
    You could skip the underlying mechanism by renaming Claude.exe and then it just passes the name as a new chat.
  • Quarrelsome1 hour ago
    this is satire, right?
    • usefulcat1 hour ago
      It may be a bit uncommon, but it&#x27;s not at all new. For example, on a Linux system I have, there are several files in &#x2F;usr&#x2F;bin that use hard links to refer to the same file (inode) by different names:<p>bunzip2 &#x2F; bzcat &#x2F; bzip2<p>gunzip &#x2F; uncompress<p>unzip &#x2F; zipinfo<p>pigz &#x2F; unpigz<p>pkg-config &#x2F; x86_64-pc-linux-gnu-pkg-config<p>perlbug &#x2F; perlthanks<p>Use ls -li to show the inode number for each file or directory. For example:<p><pre><code> $ ls -li &#x2F;usr&#x2F;bin&#x2F;{bzip2,bunzip2,bzcat} 23069197 -rwxr-xr-x 3 root root 39144 Sep 5 2019 &#x2F;usr&#x2F;bin&#x2F;bunzip2 23069197 -rwxr-xr-x 3 root root 39144 Sep 5 2019 &#x2F;usr&#x2F;bin&#x2F;bzcat 23069197 -rwxr-xr-x 3 root root 39144 Sep 5 2019 &#x2F;usr&#x2F;bin&#x2F;bzip2</code></pre>
    • belkinpower1 hour ago
      This is already how busybox works. These examples are taking it to a more extreme level but it&#x27;s not _that_ crazy.
      • zahlman1 hour ago
        AIUI, on Windows, pip (via the vendored `distlib`) also makes stub executables that work this way to implement the &quot;entry points&quot; defined in installed wheels. See: <a href="https:&#x2F;&#x2F;github.com&#x2F;pypa&#x2F;distlib&#x2F;blob&#x2F;master&#x2F;PC&#x2F;ReadMe.txt" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;pypa&#x2F;distlib&#x2F;blob&#x2F;master&#x2F;PC&#x2F;ReadMe.txt</a>