[Labs-l] Some suggestions if you have no resolutions for 2016 yet

Tim Landscheidt tim at tim-landscheidt.de
Tue Dec 29 04:57:35 UTC 2015


Hi,

the new year is just around the corner and you still have no
idea what to do with it?  Here are some suggestions for tool
developers and maintainers:

- Increase the [[bus factor]].  Add another (slightly inter-
  ested) developer to your tool.  This does not mean that
  they need to master the code from day #1, but that there
  is someone who feels authorised/obligated to fix a bug
  when you are on holiday/lost your password/have other com-
  mitments/etc.  Do not wait for their written request; ap-
  proach someone on your own.

- Publish the source.  All of it.  Publicly.  Make sure that
  there are no passwords in it.

- Write or review instructions on how to deploy your tool
  from the source.  Do you just need to copy the source to a
  directory?  Write it down.  Do you need to compile some-
  thing, convert data from this format to that, download
  stuff from here to there?  Write it down.  Who has a
  backup of the bot's wiki account's password?  Write it
  down.  This is not to guard against a Labs meltdown, but
  your memory loss.  It may be totally obvious to you /now/
  that you need to copy source repository A to directory X
  and B to Y, but in a year's time you will likely have no
  clue if the branch "new" or "bug-fix" is the correct one.
  Ask your newly-found co-maintainers if they understand the
  instructions.

- Fix your tool's warnings and errors.  All of them.  Your
  tool might still work if it encounters "undefined" or
  "uninitialized" variables, but a) these warnings slowly
  but surely fill up the storage space and (more impor-
  tantly) b) if in a year's time you or tomorrow your newly-
  found co-maintainer want (or rather need) to fix a bug,
  you will not know if those warnings are just background
  noise or indicators of a major malfunction.  If you want
  to output "" if a variable is not set or something simi-
  lar, don't use $variable and rely on PHP/Perl/etc.'s de-
  fault behaviour and your brain to remember that, don't
  write a comment in the code that the maintainer should ig-
  nore the warning, write code that just does not produce
  the warning.  It might take you a few seconds more to
  write "isset($variable) ? $variable : ''", but will save
  you much more time in the long run.  As a rule of thumb,
  your tool's error.log should not grow in normal opera-
  tions.  Ever.

- Advertise your tool.  You developed it to do X, so write a
  blog/village pump post demonstrating how you (or someone
  else) do X easier/faster/at all/etc. so that others can do
  X easier/faster/at all/etc. as well.  Users are great for
  debugging because they do things with your tool you didn't
  even dream of.  Or they have a suggestion on how to do X
  even easier/fastier.  Or they are interested in the soft-
  ware and you get a new co-maintainer without much of a
  search.

Happy hacking,
Tim




More information about the Labs-l mailing list