Template talk:Conduit

From LifeWiki
Jump to navigation Jump to search

To clarify, "recovery time" will record the safe recovery time, right? -- i.e., the smallest number of ticks after which a signal can safely come in at any time? Whereas the best recovery time accounts for special situations like overclocking, like 74 or 75 ticks best recovery time for a syringe, vs. 78 for the plain "recovery time".

Re: "dependent" vs. "independent" -- we did put a definition for "independent conduit" into the new Life Lexicon, but it has never really been the primary category. So "Dependent conduit? Yes" just seems more like the right way to convey the category membership, as opposed to "Independent conduit? No".

As the Lexicon now mentions, dependent conduits don't really depend on anything, though other conduits depend on them (to suppress the first natural glider). They should probably have been called "dependable conduits", or "FNG-suppressing conduits", or something like that -- but it kinda seems like it's Too Late Now. Dvgrn (talk) 01:43, 13 January 2018 (UTC)

"Recovery time" and "best recovery time" are just the numbers that the Lexicon gives, yes. So for, say F116, when the Lexicon says that "[i]ts recovery time is 138 ticks; this can be reduced to 120 ticks by adding extra mechanisms to suppress the internal glider, that means the template should record a recovery time of 138 ticks and a "best" recovery time of 120 ticks.
I don't know if "recovery time" and "best recovery time" are the ideal names for these. But the infobox text and template documentation can be adjusted as necessary/desired, of course -- I'll leave that in your capable hands, since unlike me you actually have extensive knowledge of conduits and related technology --, and at this point it's also still very easy to change the names of the template parameters. (Not that it'll ever be hard to do so, it'll just get tedious.)
Good point re: "dependent" vs. "independent", I'll change that.
And "dependable" (or "robust", or something along those lines) might've been a better name, yes. Is it too late to change what these are called? I don't know; maybe we could introduce a new alternative name ("dependent conduits, also called dependable or robust conduits, ...") and then gently nudge people to that name, hoping that it'll catch on. :)
On that note, I've been holding off on creating the supporting category infrastructure for conduits so far, to avoid creating, deleting, de-deleting, re-deleting and de-re-deleting categories as we tweak things. I'll build these once the template has stabilized.
Oh, and lest I forget -- how should the population and bounding box of conduits be counted, with or without the (input) Herschel and/or (output) ghost Herschel? Right now I've been removing the latter but not the former (probably the most confusing choice of all, now that I'm thinking about it).
Apple Bottom (talk) 11:48, 13 January 2018 (UTC)
It's hard to come up with recovery-time labels that are short and to the point, and convey all the information, and don't end up adding a lot of confusing clutter for the majority of conduits that don't have special cases. There are at least three different special cases:
1) conduits that work for all periods >=N, and a few special-case periods below that (e.g., syringe: recovery time 78, special cases 74 and 75)
2) conduits that work in their simple form for all periods >=N, and can be modified to reduce that minimum to M (e.g., F116: recovery time >=138, special case >=120 with added oscillator)
2b) conduits that work in their simple form for all periods >=N, and can be modified to reduce that minimum to M, but it reduces the conduit's functionality (e.g., Fx77: recovery time >=61, special case >=61 if FNG suppressed with fishhook eater, >=57 if FNG suppressed by 7x9 eater or equivalent, >=51 if FNG suppressed by incoming glider -- Fx119 also has several possible nontrivial modifications like this)
3) conduits that work in their simple form for all periods >=N, and can be overclocked at various lower periods (e.g., a Silver reflector: recovery time 497, but overclocking works starting at period 100 and 101 for 5x overclocking, and progressively wider ranges for 4x, 3x, and 2x overclocking.)
Bounding box should probably be without the input Herschel, but it's not really a very interesting measurement and my vote would be to leave it out of the infobox altogether. The problem is that a conduit obsessively optimized for bounding box is going to have a bigger population, and may be needlessly complicated-looking where the actual conduit is Spartan. Hersrch has several Fx77 variants along these lines -- they did occasionally come in handy for auto-constructing smaller Herschel loop guns.
However, the extra rows or columns saved to make a smaller bounding box may actually add cells in places that prevent the conduit from connecting to other conduits. Connectability is really much more important, seeing as the act of connecting is going to extend the bounding box anyway. Dvgrn (talk) 14:02, 13 January 2018 (UTC)
Re: "dependable" or "robust" or whatever, this is just my opinion, but I suspect that creating a new term not in common use, to compete with an already well-known term, is just likely to cause confusion at this point. Anyone not in on the terminological plot will think that a dependable conduit must be something new and different from the old-standard dependent conduits. Let's mostly stay out of the neologism business and just document existing terms as people use them. Dvgrn (talk) 14:35, 13 January 2018 (UTC)
Well spoken. Let's do that (i.e. not add neologisms)! Apple Bottom (talk) 17:13, 13 January 2018 (UTC)
As for the rest--
The situation re: recovery times sounds complicated. Would it perhaps be best to not try to stuff all this information into the infobox, instead just listing the "regular" recovery time (of the simple form of the conduit) there, and putting extra information on modifications and improved recovery times into the article text?
Removing bounding box information from the infobox seems sensible, then. What about population? I suppose it populations the "patterns with $POPULATION cells" categories if nothing else. Apple Bottom (talk) 17:18, 13 January 2018 (UTC)

Adapting the template for converters

I'd like to adapt the template for converters. Questions:

  1. Do all the parameters the template currently has, such as "recoverytime=", "spartan=", "dependent=" etc. even make sense there?
  2. If they don't, should they be rigged so they only show up in the infobox if they have a definite value, rather than displaying "Unknown"?
  3. If they should, should the template also be rigged to only omit them if "type=converter" is passed, and continue displaying "Unknown" for "regular" elementary/composite conduits?

(I know precious little about conduits, converters and related tech, and am only learning the bare minimum needed right now...!) Apple Bottom (talk) 16:11, 15 January 2018 (UTC)

  • (from above, answer on recovery time: yes, it seems reasonable to just put the minimum regular "safe" recovery time into the infobox. This is the value that means "at or above this amount of delay, the circuit will have recovered completely and you don't have to worry".)
Parameters for converters -- let's see:
  • type, conduitfor, convertsto, recovery -- all relevant.
  • dx / dy, m, step -- relevant only for conduits that don't start or end with a glider. We _could_ measure from the last tick where the signal was a glider, and/or measure to the first tick where the signal becomes a glider. But at least the second part of that gets ugly. For example, a glider might be created but not usable for 50 ticks because it shows up in the middle of the converter's reaction envelope. Or it might show up on the edge in a non-standard form, for a tick or two, but it's perfectly normal when it comes to interactions -- can be eaten by an eater1, for example.
TL;DR: let's not try to measure step for converters to and from gliders. There's a different rating system for those, with a NE/NW/SE/SW label plus lane and timing numbers.
  • spartan -- also relevant -- not sure you really need "possibly", though. Replacing a snake with an eater is pretty much the only transformation that is usually relevant. I can think of a few exceptions, where there's a Spartan variant of a normally non-Spartan conduit -- but those should just be listed as "Spartan: yes", with the Spartan variant given in a separate LifeViewer RLE block (for bonus points).
  • All the catalysts in at least the Herschel conduit collection in Golly have been shown to be glider-constructible -- but of course that's very different from Spartan. Only the syringe and a few other complete non-Spartan circuits, like the old Herschel transmitter using a spark coil variant, have actual glider construction recipes. For most large catalysts you would currently need so much empty construction space around the catalyst that it would make for a very awkward recipe, to say the least, especially if two such conduits were connected, or anywhere near each other. Each such construction problem is probably solvable, but we're a long way from where the solution could be automated.
TL;DR: it's complicated so let's just stick with "Spartan" and not mention "glider-constructible".
  • Remove "bestrecovery"
  • "dependent" is only relevant for Herschel conduits
In general I think it's okay to omit "Unknown" for the things that aren't known -- but that will usually be just the dx / dy and recovery time for converters. These days the "m" and "step" are reliably collected when the converter first shows up, and they're both in the standard name. If it doesn't have a name yet, it seems unlikely to get added to the LifeWiki...
One of the painful projects that everyone has been avoiding is collecting dx / dy and recovery times for each of the converters in the Elementary Conduits collection -- and putting that information right in the collection labels along with the "m" output orientation and step.
... One of these years, maybe. But we should certainly start by collecting that information for the relatively few named converters that have showed up in Release 28 of the Life Lexicon. Doesn't seem like the whole Elementary Conduits collection really needs to be added by name -- some of them can't really connect usefully to any other known conduits, so they're in there just as speculative placeholders.

Dvgrn (talk) 21:38, 15 January 2018 (UTC)

OK, cool. :) I've made some changes to the template:
  • "step", "dx" / "dy" and "m" are only displayed in the infobox if neither the input nor the output pattern is a spaceship. ::** How does the template know what a spaceship is? It consults Template:isSpaceship. That template only knows about gliders and xWSSes right now, but can easily be edited in case anyone ever comes up with, say, a Caterpillar-to-Herschel converter.
  • "bestrecovery" is no more.
  • "spartan=possibly" is no more. (Template callers should use "spartan=yes" and perhaps explain the nitty-gritty in the article text.)
  • "dependent" is only shown in the infobox if it's passed (no more "Dependent? Unknown").
    • This allows it to be specified for Herschel conduits, but left out for everything else.
  • "bx" / "by" are back, but will only show up if passed.
    • (Syringe had those values, and I didn't want to lose the information.)
That's about all I can think of. I'll go and update existing articles now, and see if any part of the template broke and needs fixing.
(BTW, if you can get Nathaniel to install Extension:Scribunto so we can have Lua scripting, that would make a lot of things easier I'm sure... MediaWiki's templates really aren't cut out for complicated text-processing, flow control etc.) Apple Bottom (talk) 12:54, 16 January 2018 (UTC)
A preliminary response from Nathaniel was that Scribunto "isn't just your garden-variety extension", and may require configuration that LifeWiki's current hosting setup just plain doesn't allow. Might have to get along with what we have for now...
Also in the random-detail department, it sounds like the TOLLCASS data is, sadly, definitely beyond recovery -- was on a server that crashed and died in 2012. Dvgrn (talk) 16:56, 17 January 2018 (UTC)
That's a shame about the TOLLCASS data -- did noone ever mirror it when it was available? Was the data (other than thee tables and tallies on the website) never copied anywhere? Ah well.
And I completely understanda bout Scribunto; it isn't exactly what you'd call "lightweight" or "self-contained". We'll survive without it I'm sure. Apple Bottom (talk) 20:42, 17 January 2018 (UTC)

x versus f for mirror reflection, and delta x,y measurements

It occurs to me for the "m" definition that things like "Ff", "Rf", etc. are kind of old-school. In Hersrch's database they were replaced by "Fx", "Rx", etc. One minor way that this is an improvement is that they match the actual elementary-conduit names that way -- and also there's no possible confusion with "F" meaning forward vs. "f" meaning flipped. Sorry to not bring this up before, but maybe better a little late than a lot later. Dvgrn (talk) 16:56, 17 January 2018 (UTC)
One more detail: finding the offset x and y values for elementary conduits is just the same as for Herschel conduits. Each signal pattern has an arbitrarily defined center, shown here. The offset is the (x,y) value of the output signal's center, if the input signal's center is at (0,0). Dvgrn (talk) 17:56, 17 January 2018 (UTC)
I can replace "Ff" and friends with "Fx" and friends, no problem there at all. (In fact we can keep "Ff" etc. as possible alternate template parameters that still display "Fx" etc.)
Thanks for the pointer re: x/y offsets, I'll try and remember that for the next conduit article(s) I create. (That, or I'll just leave those fields empty and let someone more knowledgeable fill them in. A cunning plan, indeed...) Apple Bottom (talk) 20:42, 17 January 2018 (UTC)
I've updated the template accordingly:
  • "Fx" etc. are now preferred (and encouraged) over "Ff" etc....
  • ...but the old, "legacy" style is still accepted...
  • ...and is converted to the new, "modern" style for the purpose of category sorting...
  • ...and pages using it are tracked in an appropriate tracking category.
  • The template documentation has been updated to inform users of this...
  • ...and also to show exactly which "center" should be user for input/output patterns to figure out "dx" and "dy".
I've also updated our various articles to use "Fx" etc. over "Ff" etc. I've not touched "dx"/"dy" anywhere, but those values largely came from the Lexicon anyway.
I think we're getting ready to start adding the category tree. I should have time for that on Friday (famous last words!).
Question for you: do you think we should continue displaying "Spartan?: Unknown" if "spartan=" hasn't been filled in, or should we only display it if it was passed a value? Apple Bottom (talk) 21:13, 17 January 2018 (UTC)
I guess only display it if it has been filled in -- but it should pretty much always be easy to fill it in, so maybe mostly it won't matter. Dvgrn (talk) 05:32, 18 January 2018 (UTC)
That's true, though easy or not, someone still has to do it. I've added a tracking category for Conduits of unknown Spartan-ness|conduits of unknown Spartan-ness for now, so we'll know which articles are missing that bit of information. I'll also try and add the missing value to the current members of that category. Apple Bottom (talk) 19:25, 18 January 2018 (UTC)


Category infrastructure's in place, BTW -- new specific subcategories will (probably) be needed when more conduit/converter articles are added, but there's pattern category templates for these, just like for other types of patterns.

The next step, I think, will be to add RLE snippets/uploaded files/images; after that... more conduits not currently covered, perhaps? Apple Bottom (talk) 20:32, 18 January 2018 (UTC)

A Bug

For some reason, the page Template:Recovery (a sandbox based on Template:PatternIdentifiers), works well, but once put in here all of a sudden breaks pages like Fx77 and L112, or even Template:Conduit. Can you solve this?

recovery: Recovery time for non-herschel conduits recovery1: Recovery time for herschel conduits if FNG is included recovery2: Recovery time for herschel conduits if FNG is ignored recovery3: Minimum overclock time if FNG is ignored

A conduit can have either have "recovery" alone, or the other three combined, but not all four. For example, the Fx77 should have no "recovery", "recovery1" = 69, "recovery2" = 51, "recovery3" = 35.

I am still trying to fix this bug. — Preceding unsigned comment added by Entity Valkyrie 2 (talkcontribs)

EDIT: This has been fixed. Entity Valkyrie 2 (talk) 22:50, 3 October 2019 (UTC)

There's still a stray < symbol at the beginning of the article, and also the recovery times still don't appear in the infobox. Ian07 (talk) 23:54, 3 October 2019 (UTC)