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>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>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 <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" <civodul>while at the same time finding it normal to be able to install and uninstall the software they use <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>then again, if the authors don't care about reusability, what can one do?