[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Package naming rant


a couple of days ago I wrote some code that, following the established
naming practices of the project I was working on, ended up looking quite

   /// Format a db::Format value to a string
   std::string format_format(Format format);
   fprintf(out, "Format: %s\n", format_format(format()).c_str());

As soon as that was written I contacted some of my coworkers asking for
a review and their opinion, because although it all seemed to make
sense, I could understand those code lines could weird someone out.

I couple of days later (this morning), I looked at the recent packages
that entered testing, and I got weirded out.

Seriously, people?

   Package: substance-flamingo
   Description: Substance Flamingo plugin
    The goal of this project is to provide a consistent apperance for
    Flamingo components (see libflamingo-java) under the substance
    Substance (see substance) look-and-feel. This requires a JDK version

I heard you like flamingo substance, so I put Flamingo flamingoes in
your substance Substance so you can substance-flamingo while you
flamingo your Substance!

Then, OpenStack packages. Which of these are actual openstack things?

   Oslo, Tataouine, Magnum, Rump, Keystone, Mistral, Glance, Sahara,
   Schinkenzwiebelmettwurst, Ceilometer, Fuel, Shade, Antani, Congress,
   Barbican, Taskflow, Tosca, Shaft, Trove, Brazier, Mellanox, Manila,
   Tripleo, Castellan, Murano, Hoverboard, Ironic, Swift, Tuskar,
   Capacitor, Ember, Perth, Nova, Inculo, Arista, Neutron, Rally,
   Designate, Cinder, Shotgun, Kulfi, Kofte, Senlin, Braciola, Mocha,
   Lido, Horizon, Zaqar, Heat, Calippo.

That wins the second place in my personal "let's spam the package
namespace with meaningless names" rank. The first is the research
community, who at least have the excuse that they can synthetize all
sorts of substances:

   asdftool - Command line tool to manipulate ASDF scientific data files
   circlator - circularize genome assemblies
   seer - genomic sequence element (kmer) enrichment analysis
   dindel - determines indel calls from short-read data
   spaced - alignment-free sequence comparison using spaced words
   stacks - pipeline for building loci from short-read DNA sequences
   surankco - Supervised Ranking of Contigs in de novo Assemblies

These are some new entries. I like the name asdftool, it gives me the
idea of someone going "we have so many nonsense names that we could just
as well name this one by bashing randomly on the keyboard". Circlator
I'm sure means something in Plukanian[1]. "seer" is yet another step on
the slippery slope that will one day give us a package called "doer".
"dindel" sounds like a Bavarian localisation package. "spaced" is how I
feel going through those names. "Stacks" feels like a tease towards the
OpenStack people, like sticking the middle finger and yelling "you are
NEVER going to catch up!". Surankco sounds to me like some character out
of One Punch Man, 

Actually, if you are looking for a name for a new videogame or comic
book character, just run:

   grep -E 'field::(biology|chemistry|medicine)' /var/lib/debtags/package-tags|sed -re 's/:.+//'|sort -u|less

   "And in the next match at the Circos Martial Arts Tournament, we have
   Biosquid, who just won the match against Epigrass, facing Muscle, the
   most promising disciple of Abyss and Clustal"

Let's take this package:

   python-shotgun/testing,testing 0.1.0+2016.12.30.git.0682f20c42-1 all
     Create and save Fuel diagnostic snapshots

I thought it was about shooting yourself in the foot, by connecting an
untested tool you just saw on Hacker News to the OBD-II port of your

Nope: it's some openstack thing with a description made of 11 lines of
enterprise nonsense and two lines of "it reads yaml, collects log files
and stuff, and helps diagnose stuff".

Please at least make sure that all the openstack packages have
suite::openstack tags assigned, and then let's figure out how to have
apt run some recipes to make some tags available in the package short
descriptions, so that it can show like this on "apt search":

   python-shotgun/testing,testing 0.1.0+2016.12.30.git.0682f20c42-1 all
     [openstack] Create and save Fuel diagnostic snapshots

Enrico in a "you're all evidently gone mad and probably dangerous"
       sunday morning mood

[1] https://en.wikipedia.org/wiki/Kin-dza-dza!#Plukanian_language
GPG key: 4096R/E7AD5568 2009-05-08 Enrico Zini <enrico@enricozini.org>

Attachment: signature.asc
Description: PGP signature

Reply to: