IRC channel logs

2023-01-09.log

back to list of logs

<rekado>today I experienced a culture clash
<rekado>someone asked me to package a tool, I obliged, but the person came back to me to comment on what poor a job I had done.
<rekado>‘it looks like this in Conda! What you built is simply unusable.’
<rekado>I made the mistake of using the included Makefile.
<rekado>and when I saw that there was another Python setup.py thing there I also built that for good measure.
<rekado>but no: it’s unusable!
<rekado>turns out that the application developer has no idea how to write software that follows decades-old conventions
<rekado>apparently the assumption is that one would take a clone of the repository and run a script that does what I had done, but that also enters a Conda environment
<rekado>and *that* working directory is the finished product
<rekado>the requester’s indignation really caught me off guard and I couldn’t quite articulate why we don’t do things this ay
<rekado>*way
<rekado>why this is not a sensible way of distributing software
<rekado>I prepared a response, but the insurmountable gulf of software cultures between us meant that—whatever language we may have shared—the core concepts upon which our words rest have vastly different shapes.
<rekado>my words would have been incomprehensible gibberish, a mere flapping of meat
<rekado>so I gave up
<civodul>uh, terrible
<civodul>there are occasionally people who don't get the notion of "installing" software
<civodul>or rather: they think the software they write doesn't have to be "installed"
<rekado>yeah
<civodul>while at the same time finding it normal to be able to install and uninstall the software they use
<civodul>i sympathize
<rekado>a similar insistence on ‘we don’t need that kinda thing here’: refusal to provide configure scripts
<civodul>if at least they have setup.py or whichever equivalent thing they fancy, that's okay
<civodul>but yeah, sometimes there's just nothing
<rekado>I once contributed patches to remove hard-coded tool locations from a bioinfo tool; the authors refused the patch, because ‘it works’ and they didn’t want the ‘complication’.
<rekado>weirdly enough that setup.py thing was just for one component. The main tool is a bunch of Python scripts. Baffles me that someone would do the right thing for a component but forget about all that for the actual core tool.
<rekado>for some ‘applications’ like that I’ve decided to just install everything to $out/share, and install a wrapper to the main script to $out/bin.
<rekado>but I don’t feel like making these decisions for software I don’t understand
<civodul>yeah, that's problematic
<civodul>then again, if the authors don't care about reusability, what can one do?