Difference between revisions of "LifeWiki:Tiki bar"

From LifeWiki
Jump to navigation Jump to search
(→‎Next Steps: pname fixes and .cells creation mystery)
(147 intermediate revisions by 13 users not shown)
Line 9: Line 9:


==Archived discussions==
==Archived discussions==
:''Note: active discussions are never archived while still active.''
* See [[LifeWiki:Tiki bar/Archive/2016]] for Tiki bar discussions started in 2016.
* See [[LifeWiki:Tiki bar/Archive/2016]] for Tiki bar discussions started in 2016.
* See [[LifeWiki:Tiki bar/Archive/2017]] for Tiki bar discussions started in 2017.
* See [[LifeWiki:Tiki bar/Archive/2018]] for Tiki bar discussions started in 2018.
== Conduits and converters ==
I'm gradually gathering the necessary courage to tackle the new Life Lexicon items that start with "P".  Looks like one of the big things I should do is to carefully figure out how to make proper use of [[Template:Reflector]], but in this modern LifeViewer age I don't think I agree with the part about "The image in this infobox should '''NOT''' include the glider that is to be reflected...".
Seems to me these template recommendations should be updated to say something like "The image in this infobox '''should''' include the glider that is to be reflected -- optionally, two input gliders separated by the mechanism's minimum [[recovery time]], and an output glider if that allows a smoother animation.  However, the bounding box and population count should be calculated with these gliders removed."
It would actually be pretty annoying to provide RLE of a reflector and not at least show where the input is supposed to go.  When copying and pasting one of these to use in a larger construction, it's usually pretty handy to have some kind of marker for where the the input goes and where the output comes from -- thus the [[ghost Herschels]] in recently added [[Herschel conduit]]s.
[Ideally the marks are state-4 LifeHistory so you don't have to edit them out after pasting -- but we should probably stick with simple 2-state Life patterns on the LifeWiki and not open the LifeHistory can of worms.]
... And we can probably get rid of [[Template:Reflector/Doc]] while we're at it, no?
Before I start this I'll definitely undertake to review all the existing converters and reflectors and conduits -- there are a bunch with raw RLE and/or uploaded pattern files missing.  That's relatively easy to fix, once we have an official decision about whether and how to show inputs and outputs.  I'm currently puzzled by the mysterious [[Template:ConduitInput]] and [[Template:ConverterInputOutput]].  Not that that's surprising -- I'm easily confused by all this wiki template trickery. [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 15:26, 8 May 2018 (UTC)
:I agree that reflector patterns should include the input glider.  I'm the one who originally wrote that they shouldn't, and I'm not really sure why anymore.  It can't have been very good reasoning, because I completely disagree with it now.<br/>~[[User:Sokwe|Sokwe]] 07:08, 9 May 2018 (UTC)
:[[Template:Reflector/Doc]] also asks users not to put animated images on pages, instead suggesting that one should "''consider using a static image of the reflector with a caption that links to the animation''". I think this does not match the general current LifeWiki practice regarding animated images, or generally animated content. Should we reconsider? [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 05:25, 7 June 2018 (UTC)
:: It does seem to me that we have a developing consensus that LifeViewer-based illustrations are a good way to go.  There are quite a few Help documents and templates that were written long before the advent of LifeViewer. I'd love to have the Help actually explain to a new user how exactly to add RLE to the RLE namespace, how to get that RLE to show up in an infobox or an embedded viewer, how to adjust the LifeViewer config so that animations (if any) look good, etc. It will take a while to get all the docs updated, no doubt.  My edit yesterday was just a first attempt to start chipping away at the problem. [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 14:48, 7 June 2018 (UTC)
:::Definitely agree! Unfortunately writing documentation is one of things I'm hopelessly.. well, hopeless at. ;) [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 10:33, 9 June 2018 (UTC)
== Lexicon tags ==
Many of our articles (glossary, in particular) are based on, or at least synced with, Life Lexicon content. This creates a need to update these articles when the Lexicon changes.
Some of that has been handled in an ad-hoc manner [[User:Apple Bottom/TODO/Life Lexicon|on my userpage]], but the process is fairly involved: look at the project page, find an article to work on, make sure it needs to be worked on, make the necessary edits, make the necessary changes to the project page to reflect the fact you edited the article.
It's also not easily found by newcomers who may want to help out. (OK, I'll admit, there likely aren't droves of eager newcomers to begin with, but that nonwithstanding, if you don't know said page exists you're not going to find it easily.)
So I was thinking, can't we improve on this? And I just had the idea of tagging articles themselves instead, indicating which version of the Lexicon they correspond to.
The Nethack wiki does something similar; for instance, take a look at their [https://nethackwiki.com/wiki/Foodless Foodless] article, and you'll find that it has an indicator at the top right saying that the page reflects Nethack 3.4.3 (rather than the current 3.6.1), generated by [https://nethackwiki.com/wiki/Template:Nethack-343 this template].
We could use something similar. There wouldn't necessarily have to be a visible indicator (though there could be); at the very least, though, pages could be tracked in appropriate categories, and we'd know at a glance what needs to be updated (or at least reviewed) and what's current.
This way, all edits would be in one place: review an article and make edits as necessary, and also update the tag to indicate it now reflects a newer Lexicon version. And placing those tracking categories into an appropriate supercategory and placing that in the existing category tree in turn would allow editors interested in helping out find articles in need of review.
There would be two downsides. a) most of the Lexicon doesn't change in each Lexicon release, so we'd have a lot of articles tagged as (say) reflecting v28 when in fact they're also current, by virtue of not having changed since v28. And b) we wouldn't easily be able to see which articles are missing from the wiki entirely.
I still feel that this would be an improvement though, and there's no reason we couldn't combine these tags with a manually-curated project page to get the best of both worlds.
Also, re: downside a) specifically, I think this could be dealt with by also having an indicator on the wiki saying which Lexicon release is current; pages that haven't been tagged as reflecting the current version would then display a gentle, unobtrusive note, and anyone viewing such a page could quickly check that it does indeed match the current Lexicon release, and update the tag if so.
Thoughts? [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 07:49, 18 July 2018 (UTC)
: This seems like a fine idea to me.  As far as downside a) goes, I think that the last year of Life Lexicon updates is highly unusual, since it involved catching up after over a decade of no maintenance at all.
: The standard editing methodology for new Lexicon releases is to maintain a Changes section at the top of the raw Lexicon text file, carefully listing every "added" or "edited" entry since the last release, by name.  Nobody is supposed to edit a Lexicon definition without updating the change log.  This should make it trivial to find missing articles, and hopefully should also allow an easy update to the tags.  Every Lexicon entry that's not listed in the change log can be automatically bumped to the latest lexicon release.
: That's a lot of small changes to a lot of articles with every Lexicon release, though.  Does it make sense to have the default Lexicon tag be just {{LexiconLatest}} or some such, with a template to display on the page whatever the latest Lexicon release number actually is?
: Then, for the next Lexicon release (30), we can just update the (relatively small) list of changed definitions to say "Release 29" -- and then after each definition is reviewed and patched, the tag is updated at the same time, back to {{LexiconLatest}}? [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 22:15, 18 July 2018 (UTC)
::I suppose that would work, but it's pretty much the opposite of what I was trying to accomplish. ;) I was thinking of this as a status checkbox of sorts where editors would check off that yes, this article has been reviewed for Life Lexicon release 30 or 50 or whatever, and any articles that lacked that virtual checkmark would automatically be herded and available for review and/or updating, as necessary.
::Having a "LexiconLatest" tag instead would mean checkmarks that check themselves, by default, and that we'd then have to go and un-check. That's not so different from the current approach, with my TODO page.
::But you raise a good point. We have a log of Life Lexicon changes, and once we're actually caught up with the Lexicon in general all we'd have to do is keep an eye on those. Hmmm.
::Here's a thought, admittedly a rather complicated one. How about we do both? That is to say, how about a tag template that has ''both'' an explicit parameter ''and'' uses a default "low watermark", displaying the higher of both?
::The explicit parameter would be used by editors to indicate that a page has been reviewed/updated to reflect a certain Lexicon release; the "low watermark" (kept in a template of its own) would be updated by us whenever we're sure that ''every'' Lexicon-related entry reflects a certain Lexicon version.
::For instance, assume that all our articles conform to Lexicon release 30. Suppose that release 31 comes out now. We then go through the changelog, edit all articles that need updating, and after that's done, we conclude that no further changes are necessary, and bump the "low watermark" to 31, thus causing ''all'' articles (that reference the Lexicon) to declare that they match release 31.
::One advantage of this would be that we'd still see when an article was last ''explicitly'' reviewed. For instance, an article might say it reflects Lexicon release 31, but the "version=" parameter might still say it was last reviewed for 28. If nothing else, this would make it easier to spot articles that haven't been reviewed for a long time and where discrepancies might've crept in.
::Another idea: we've already got [[Template:LinkLexicon]] to link to Lexicon entries. We could repurpose this to also additionally display a tag, which would save us the need to edit 831 articles just to add a tagging template.
::[[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 07:50, 19 July 2018 (UTC)
::: This all seems reasonable to me -- especially sneaking a displayed tag into [[Template:LinkLexicon]].  Now that Golly 3.2 and Release 29 are safely out the door, I'm sorta kinda planning to get back to work on the LifeWiki ToDo list for Lexicon updates, with the intention of getting everything up to date eventually -- hopefully well before Release 30 comes along to confuse things any more.  We already have some kind of a tracking system set up for Release 28 and 29, so maybe it makes sense to keep using that, and design the new template/tag system to really come into use once everything has been updated to Release 29.
::: So in early 2019, if we end up with a list of say fifty articles that have changes for Lexicon Release 30, my thought would be to update just those fifty articles to specifically say "Release 29" (however we decide to do that exactly -- maybe with a template saying "this article is out of date, please help out by updating it"?).  Then bump up the "low watermark" to 30 right away.  As articles get updated, the "please help" template can get removed again with the same edit.  Does that work? [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 18:49, 19 July 2018 (UTC)
::::OK, cool. :) Good to hear you'll have some time to devote to the Lexicon-to-LifeWiki TODO list. I'm not able to put in much effort there myself --- too much studying, too many exams. Ah well.
::::Re: marking e.g. fifty articles as needing updates and everything as conforming to e.g. release 30 by default --- that would be a lot easier if we had Lua scripting available! MediaWiki's templates only go so far and aren't really meant for pushing lots of structured data around.
::::Our options there would include at least the following:
::::# Manually edit each of those 50 articles (e.g. by setting an extra template parameter) to override the "low watermark". Not ideal --- we might as well just edit those 50 articles to update them if we're already editing them anyway.
::::# Provide a global "kill switch" for the low watermark that, when set, causes the low watermark to be ignored. Pages explicitely listing a conforming Lexicon release would then display that instead, so those 50 "release 29" articles would show up in the right category, etc. Also not ideal --- there might be many other articles that would also have the explicit "reviewed for release 29" tag, or older tags at that, which would NOT need to be updated.
::::# Keep a list of those 50 articles, and rig the template to display a notice if the title of the transcluding page happens to be on that list. '''Also''' not ideal --- we'd have to curate that list, and as I said, MediaWiki templates aren't really meant for this sort of thing.
::::Maybe there's another solution I'm not seeing, though.
::::That said I also have a feeling we're trying to overengineer the solution, though, or perhaps attacking the problem from the wrong angle. After all, what do we want to do? Keep the LifeWiki current as far as Lexicon content goes. How do we achieve that? By importing Lexicon as necessary, and (once done) keeping an eye on changes made to the Lexicon and mirroring them on the wiki (again, as necessary). And how do we do ''that''? By rolling up our sleeves and working on it. Fancy templates and tagging nonwithstanding we won't get anywhere if we don't just jump in and do it.
::::<small>(And by "we", I mean whoever's willing to do that job.)</small>
::::[[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 18:16, 20 July 2018 (UTC)
:::::Re: overengineering... yeah, offhand I don't see a better solution than the first one:  manually edit 50 articles, copying and pasting the same "stub"-like template marker in as a header.  This is a bit tedious, but that's what multiple browser tabs are for, and it can be done pretty easily in half an hour or so.  The idea is that we can make a little bit of effort to spread the update work around.  (Here "we" means the small group of people who have done the work so far -- a small group because it's kind of tricky to do everything right, so not many people have figured out all the fiddly details.)
:::::I can add "needs Lexicon update" headers to 50 articles in half an hour, but I sure can't do a careful comparison and repair on 50 articles, especially if it will require adding new illustrations or modifying existing ones.  But it seems to me that there's a larger (and growing) population of LifeWiki users who can perfectly well review a particular Lexicon definition when they trip over a "needs Lexicon update" template header begging for help.  Often it isn't too hard to find what needs changing, make the required edits, and remove the "needs Lexicon update" tag at the same time.


== Pattern infobox: "Identifiers" section ==
:::::Every one of these articles that someone picks up and fixes, is one that I don't have to do myself... and in the meantime, a half hour of work has already brought the LifeWiki more up to date, by specifically flagging the fact that there's newer information somewhere else that needs to be integrated into the article.  Seems like this might be a good habit to get into, for as long as the Life Lexicon is kept more or less in synch with current reality.


Following private discussion with [[User:Dvgrn]], I've added a new "Identifiers" section to pattern infoboxes, intended to collect identifiers (numbers, IDs, codes etc.) for a pattern in the various pattern collections floating around. Right now, it handles three identifiers:
:::::Sound reasonable?  And could you have a look at [[Template:NeedsLexiconUpdate]] and see if it has everything in it that this plan might need? [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 21:02, 20 July 2018 (UTC)


* [[apgcode]]s, as used on [[Adam P. Goucher]]'s [[Catagolue]];
::::::Redirect pages don't need any markers saying they're from a Lexicon entry -- do they?  I've been trying to rebuild some momentum by getting the remaining redirects done... [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 21:57, 26 July 2018 (UTC)
* Niemiec IDs, as used on [[Mark Niemiec]]'s website (codercontest.com/mniemiec/);
* Pentadecathlon IDs, as used on [[Heinrich Koenig]]'s Game of Life Object Catalogs (pentadecathlon.com).


apgcodes and Pentadecathlon IDs additionally link to the respective sites. The new section currently appears last in the pattern infobox, but this could easily be changed. The section's also hidden when no identifier is specified for a pattern.
:::::::Cool, good to see this is already progressing. Good job! :) I'm a little less swamped now, so I'll take a look at the Template'n all over the weekend.


On the technical side, this is implemented with a new helper template, [[Template:PatternIdentifiers]], modelled after and based on [[Template:PatternDownload]]. New identifiers should be added here.
:::::::No, I don't think redirect pages need markers. I don't consider these "content" in the strictest sense, in either the Lexicon or the LifeWiki --- they're just tools that help people ''find'' content.


Existing pattern templates have been updated to use this new template. The following new parameters are available on all pattern templates:
:::::::[[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 08:31, 28 July 2018 (UTC)


* <tt>apgcode=</tt>
== Object frequency classes ==
* <tt>niemiecid=</tt>
* <tt>pentadecathlonid=</tt>


What remains to be done:
I do apologize for my somewhat extended absence. That said, I had an idea (long ago actually) about adding information on the commonness of objects to pattern infoboxes, using data from Catagolue (specifically, B3/S23/C1).


* Add these new parameters to pattern templates where appropriate.
I don't think saying "this still life is the 1,691th most common object on Catagolue" is useful, of course. What I'm proposing instead is the frequency class, defined as follows: a pattern is in frequency class X if the most commonly-occurring object (the [[block]], in this case) is 2<sup>X</sup> times more common. X need not be an integer; to strike a balance I'd suggest using one decimal digit.
* Think about and add additional identifiers (e.g. for jslife or Dean Hickerson's stamp collection).
* Use the Niemiec ID (where available) to link to glider syntheses on Mark's website.
** [[User:Dvgrn]] mentions that the filenames for the synthesis RLEs don't always match the objects' IDs; but there is a limited number of exceptions that could be handled using an additional "converter" template.
* Anything else?


Comments etc. welcome.
Let me give an example. The [[twin hat]] has appeared 240,372,408 times on Catagolue (as of this morning), whereas the block has appeared 71,146,901,659,666 times. So the block is approximately 295,986 &asymp; 2<sup>18.17517</sup> times more common, and the twin hat's frequency class is 18.2, rounded to one decimal digit.


-- [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 12:17, 11 January 2017 (UTC)
I think this is a fairly intuitive way of capturing commonness. An additional nice property is that if an object has occurred sufficiently often, its frequency class is unlikely to change much, if at all; this is true even for objects whose commonness is very similar and who might switch ranks regularly, with one or the other having occurred more often at any given moment. So once this information's added, we wouldn't need to edit it much, if at all ever.


:Since there's been no objections, I've gone ahead and added <tt>apgcode=</tt> parameters to all still life, spaceship and oscillator pages. (I do apologize for the sheer number of edits there, BTW.)
Like I said, only sufficiently common objects should have this information added; there's too much uncertainty about the frequency class of an object that has only appeared once, say. I unfortunately lack the statistical background to suggest a good cut-off value ("objects should only have this information in their infoboxes if they have occurred at least ''n'' times"), but unless there are objections I'll add this, or at least do the necessary template work.


:All pages thus edited also use [[Template:LinkCatagolue]] to provide links to the objects' Catagolue pages (if they didn't before, they do now), and I've been thinking that this might confuse the uninitiated -- doesn't this new infobox parameter essentially duplicate information? The answer is no. The infobox parameter exists to capture a piece of information about an object; it also links to Catagolue, but only for convenience's sake. The external link template, meanwhile, exists to link to Catagolue, and it's mere coincidence that one could also extract an object's apgcode from it.
...heck, I'll just go ahead and do it, it's been a while since I've edited anything here. If anyone thinks that this is a load of bull, please just speak up and say so. :) [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 17:56, 1 September 2018 (UTC)


:I have vague future visions of machine-parsable microformat data for patterns, automatically generated by infobox templates; the various object ID parameters will be used for that. Link templates, for obvious reasons, cannot, since the generation would happen server-side on the wiki, rather than requiring special software on the client's side.
(P.S. --- although the block is the most common in B3/S23/C1, it isn't necessarily for other B3/S23 censuses; in some symmetries, the [[blinker]] is more common.)


:Getting back to the topic of ID parameters as such, I've been thinking that for jslife, it would perhaps be best to have a <tt>jslife20121230=</tt> parameter taking a filename (e.g. <tt>osc/o0015.lif</tt>), and perhaps an optional comment detailing where the object can be found in that file. That said, there are several objects appearing in more than one file in jslife (e.g. in the <tt>x-*.lif</tt> files). Assuming we want to ''link'' to the jslife files, rather than just ''indicating'' where an object is found, I'm not sure yet how to best handle this case. -- [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 22:07, 1 July 2017 (UTC)
:Replying to myself, I've started doing this; there is a new template parameter, <tt>fc=</tt>, currently only for [[Template:Stilllife]], [[Template:Oscillator]], [[Template:Spaceship]] and [[Template:Puffer]] (no other types of object have appeared on Catagolue anyway). I've also added a short glossary entry at [[Frequency class]], and added frequency calss data to a couple of object infoboxes, including all with FC &le; 10.0. The script used to generate the necessary data from Catagolue's [https://catagolue.appspot.com/textcensus/b3s23/C1/ textcensus] is this:


::The <tt>pentadecathlonid=</tt> parameter seems to be bugged. - [[User:AwesoMan3000|AwesoMan3000]] ([[User talk:AwesoMan3000|talk]]) 15:25, 2 July 2017 (UTC)
<pre>
#!/usr/bin/perl


:::Thanks for the report. This was apparently caused by the parser not interpreting <tt><nowiki>|-</nowiki></tt> as new table rows, as it should have.
# usage eg.:
# perl ../frequencyclasses.pl b3s23.C1.txt >frequencyclasses.txt


:::The deeper reason is that unfortunately in MediaWiki syntax, the pipe character is used both for templates (and parserfunctions) and for wikitables. When generating wikitables (complete or snippets), it's thus common to replace literal pipes with a call to a special template, conventionally [[Template:!]], that contains nothing but a single pipe character. This way, e.g. table rows are given as <tt><nowiki>{{!}}-</nowiki></tt>, and this keeps the MediaWiki parser from interpreting the pipe characters while transcluding tables.
use Modern::Perl '2016';


:::However, once all templates are transcluded, wikitables (and other wiki syntax) should still be interpreted on the result, and this wasn't happening here. I don't know why; it definitely worked in the past, as the two test pages I used for the identifier parameters ([[Boat on snake]] and [[112P51]]) looked fine then. They didn't anymore now, suggesting that something, somewhere, changed, either MediaWiki or perhaps the underlying software stack.
# only patterns with more than $cutoff occurrences should be considered.
# mark all other patterns with an asterisk.
our $cutoff = 10;


:::In any case, I replaced the wiki tables on [[Template:PatternIdentifiers]] with equivalent HTML tables, which neatly bypasses this problem entirely. [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 20:22, 2 July 2017 (UTC)
# throw away header line
<>;


== OEIS templates ==
my %objects = ();
my $mostcommon = -1;
my $mostcommoncode = "";
while(<>) {
    chomp;
    next unless m/^"([^"]*)","(\d+)"$/;


I've added two templates mirroring OEIS data, [[Template:A019473]] and [[Template:A056613]], holding data for the number of strict/pseudo still lifes of a given population respectively.
    my ($apgcode, $count) = ($1, $2);
    $objects{$apgcode} = $count;


I did this because I the same figures are used in different places, notably in the [[Still life]] and [[Catagolue]] articles (and several times in the latter), as well as in a few [[LifeWiki:Did you know|DYK]] items. Using these templates ensures that if numbers change (e.g. Mark Niemiec's 24-bit still life count, which Simon Ekström corrected) or if new data comes in, we'll only have to update the figures in one place.
    if($count > $mostcommon) {
        $mostcommon = $count;
        $mostcommoncode = $apgcode;
    }
}


Thoughts welcome! If you'd like to add more templates along these lines, just use either of these as a blueprint. They use [https://www.mediawiki.org/wiki/Help:Extension:ParserFunctions#.23switch MediaWiki's <tt><nowiki>{{#switch:}}</nowiki></tt>] statement, which is more readable than a larger number of nested <tt><nowiki>{{#if:}}</nowiki></tt>s. [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 12:21, 14 January 2017 (UTC)
my %frequencies = ();
foreach my $apgcode (keys %objects) {
    my $frequencyclass = sprintf("%.1f", (log($mostcommon / $objects{$apgcode})) / log(2));
    $frequencies{$frequencyclass}->{$apgcode} = $objects{$apgcode};
}


: I looked over the OEIS template changes to the Did-You-Knows -- seems like it works well!  I have yet to think of other applications for this trick, but no doubt something will turn up eventually. -- [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 01:45, 4 May 2017 (UTC)
foreach my $frequency (sort { $a <=> $b } keys %frequencies) {
    foreach my $apgcode (sort { $frequencies{$frequency}->{$a} <=> $frequencies{$frequency}->{$b} } keys %{ $frequencies{$frequency} }) {
        print "*" if($frequencies{$frequency}->{$apgcode} <= $cutoff);
        say "$frequency\t $apgcode\t $frequencies{$frequency}->{$apgcode}";
    }
}
</pre>


== Direct links to syntheses ==
:(I'm sure there's better ways of doing this, but this worked for me.) [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 18:52, 1 September 2018 (UTC)


Following up on Apple Bottom's good work on [[Template:PatternIdentifiers]] a while back -- I've been wondering how much work it would be to provide direct links to Mark Niemiec's synthesis file for an object, whenever that is available in his database, along with or in place of the pname_synth.rle files that we're currently checking in one by one.  Probably the new link would end up in the Glider Synthesis section, not the pattern-ID section, though in a way it's another kind of pattern ID.
::Another reply to myself --- [[User:Goldtiger997|Goldtiger997]] [http://conwaylife.com/w/index.php?title=Tumbler&curid=703&diff=46374&oldid=41650 suggested] a cut-off value of 10 (non-inclusive). This strikes me as sensible. So unless there's objections, how about we run with this, and only add frequency class information to objects having appeared more than 10 times?


We might not want to tackle that for the current version of the database, as there are rumors that some of the synthesis filenames will be getting adjusted soon. But I'd like to be ready to implement the idea when the next version of the database rolls out, if it's not too hard to do.  As it is, a copy of Mark's synthesis file is what actually ends up getting checked in anyway, half the time -- might as well have it be the up-to-date one at conwaylife.com/ref/mniemiec...?  Or maybe an automatic [https://glidersynth.neocities.org/?xs4_33 synthesis builder page along the lines of chris_c's], for whatever categories of objects that that might be made to work for.
::Also --- right now the information is [[Catagolue]]-specific, which is sensible but still somewhat arbitrary; if we want to include more information later (e.g. from Achim's, Andrzej's and Nathaniel's censuses, or from whatever future censuses people may come up with), we can easily adjust the infoboxes to include a new "Commonness" section, and re-interpret <tt>fc=</tt> as "'''f'''requency in '''[c]'''atagolue". [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 09:08, 2 September 2018 (UTC)


The other interesting trick would be to check the smallest number of gliders for each object synthesis against the value in Niemiec's database, and report discrepancies in either direction. Maybe an adjustment could be made to [https://github.com/AppleBottom/applebot applebot.pl] -- [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 01:45, 4 May 2017 (UTC)
:::Sounds good. However, I already broke my "suggestion" of the 10 occurence cut-off twice; for the [[Coe ship]] and [[Achim's p8]]. Is it worth removing the <tt>fc</tt> parameter for those two articles, or should they just be left as they are? [[User:Goldtiger997|Goldtiger997]] ([[User talk:Goldtiger997|talk]]) 09:26, 2 September 2018 (UTC)


:That's a great idea. I actually considered linking to Mark's files when creating said template, but didn't because you couldn't generate a link from the ID alone, you also needed to know in which directory on the web server the file resided. (Of course one could just add an extra template parameter for that.)
::::I think we can grandfather those in --- would be good if you could keep an eye on them in case the information changes, of course, but it's just two articles, so that should be fine. I've also added the cutoff of &gt;10 to the script above; patterns not reaching that cutoff are marked with an asterisk. [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 09:35, 2 September 2018 (UTC)


:If Mark's gonna reorganize his DB, waiting's probably not a bad idea, yes. OTOH it wouldn't take much work on our side to add these links. Having them in the Glider Synthesis section of the infobox is probably sensible.
==Infobox vs. EmbedViewer==
All this interminable Life Lexicon import work has been leading me to believe that there are two classes of articles that can use LifeViewer animations.  There are the named patterns, where if you say "Pattern X" there's really only one likely Pattern X that you could be referring to.  These get put into an infobox category, with appropriate statistics collected and so forth. The most recent example of this kind of imported Lexicon article is [[line crosser]].


:I've gone ahead and added links to chris_c's synthsis builder to the still life infobox; other pattern infoboxes can be adapted by changing the [[Template:PatternDownload]] inclusion to pass the apgcode parameter, at our leisure. Of course this will only work on pattern pages where the apgcode parameter is passed to the infobox in the first place, which right now aren't many. (Since many pages have [[Template:LinkCatagolue]] external links, though, adding them wouldn't be difficult, just tedious. Hmm, I wonder if this would be a task for [[User:Apple Bot]] as well.)
The other class of article is for a term that might refer to a variety of different patterns, so that there are various examples but no specific example should really be considered to be the one canonical one.  In these cases I've been using an embedded viewer but haven't been bothering with an infobox.  The most recent examples along these lines are [[line-cutting reaction]] and [[line-mending reaction]].  I like the way these are turning out, but am curious to hear if anyone thinks that these should also be infoboxed somehow, or if anything else should be added as standard practice. [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 09:45, 12 September 2018 (UTC)


:Re: updating the "fewest gliders" count, yes, the bot could do that as well. In principle, anyway; it's all a matter of actually implementing it. :) (And then running the bot, of course.)
:I think this is eminently sensible. Off the top of my head, aren't there a few articles that have infoboxes despite being about a family of patterns rather than a specific individual one? (Or patterns with variants, anyway --- the bee shuttles come to mind there.) I've never been quite sure how to handle those, though that's not limited to LifeViewer and embedded patterns: the same goes for other infobox'ed information, such as bounding box, population etc. [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 07:54, 13 September 2018 (UTC)


:BTW, I didn't know Mark's DB also lived at conwaylife.com/ref/mniemiec . Is this different/separate from the one at codercontest.com/mniemiec , or are they just different URLs for the same underlying site? -- [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 11:23, 7 May 2017 (UTC)
::Yup, those are the ones where I find the infoboxes to be not-helpful. Would suggest in those cases maybe just using an embedded viewer to show one of the family, or maybe a small stamp collection would be better. The most recent example I dealt with was [[HFx58B]] from the Life Lexicon. Rather than pick a variant, and/or leave out perfectly good information that the Lexicon had, I just threw caution to the winds and put both patterns in the same infobox, but picked the older variant to do the infobox stats about.  Probably this will puzzle somebody sometime, but sometimes Life can be confusing... [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 11:20, 13 September 2018 (UTC)


:: Well, currently they're identical.  In the long run I think the conwaylife.com/ref/mniemiec one will get updated, and the codercontest.com one will probably go away, after a period where comparisons of the two versions might be useful, for debugging purposes maybe.  The GitHub repository for the latest and greatest versions of all the conwaylife.com/ref material is [https://github.com/rokicki/lifecontent here] -- at least according to the current plan. [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 17:33, 8 May 2017 (UTC)
== Semi-automated collection of raw RLE ==


:::Ah, thanks, I see. [[Template:PatternIdentifiers]] already uses [[Template:LinkCatagolue]] and [[Template:LinkPentadecathlonObject]]; if/when we decide to go ahead and link to Mark's files we'll also want to update [[Template:LinkNiemiec]] as necessary and use that. That way, when the move happens, we'll only have a single switch to flip. (Some stray links on talk pages etc. nonwithstanding.)
I now have a completed Python script -- working on my system, at least! -- that goes through all articles in the main namespace looking for pname definitions in infoboxes and embedded viewers.  If it finds any defined pnames, it checks '''www.conwaylife.com/patterns/{pname}.rle'''; if a Not Found error comes back, it creates an appropriate file using RLE from '''conwaylife.com/w/index.php?title=RLE:{pname}&action=edit''', in a reasonably standard format including pname, discoverer and discovery year if available, and links to the relevant article and the RLE file itself.


:::Thanks also for the link to the github repo! [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 21:15, 10 May 2017 (UTC)
On the last pass the script found 190 missing RLE files in the main namespace.  These have now been uploaded to the server and added to all.zip.  You can sort the contents of all.zip by date to see the new additions.  Since this was a mostly automated process, the script may have picked up a few patterns that shouldn't really be part of the collection.  If anyone wants to do a quick independent review, I'd appreciate it!


== Creating "standard" images, RLE:pname pages, and where to use LifeViewer ==
I think this will make the process of getting RLE uploaded to the server a lot easier for non-admins.  If raw RLE is created in the RLE: namespace, and is used in a pattern infobox or an embedded viewer, then it will make it to the all.zip collection eventually.  To give time for new raw-RLE additions to be peer-reviewed, I would think this script would only be run quarterly or so, with the resulting new RLE files sent as a ZIP file to Nathaniel to do a bulk upload to the serverThere shouldn't be any problem with good files getting overwritten with bad ones, since the script only generates an RLE file if no existing file is found.
I just pointed new trusted user [[User:wwei23]] to the [[LifeWiki:Style_guide/Pattern_layout|Pattern pages]]. I then noticed with some embarrassment that the checklist below "howto in a nutshell" still says images should be created "in Conwaylife"How long has it been since that was possible?  I guess the time can't be measured in decades quite yet...!


1) Apparently [[User:Apple Bottom|Apple Bottom]] uses a script to make LifeWiki-style pattern images quickly, whereas I usually just use screenshots from Golly (but have to change Golly's default grid color to match LifeWiki images) or sometimes just sneakily hand-edit an existing imageWhat would be a good modern easy way to generate images -- maybe online via some variant of LifeViewer?
It occurs to me that another semi-automated survey might be looking for articles with nofile=true, that do in fact now have raw RLE and/or uploaded RLE filesI'll try adjusting the script to include any such files it finds in its final reportIt's a little trickier to automatically update all such "nofile = true" to say "rle = true" instead -- it's doable, but it needs a different kind of automation.
:LifeViewer has the ability to open a screenshot (by using hotkey "o") in a separate browser window (if you allow popups) which could be saved as an image. [[User:Rowett|Chris Rowett]] ([[User talk:Rowett|talk]]) 03:33, 31 May 2017 (UTC)
:: That might be a good startBut often the things that images are needed of, aren't in the LifeWiki yet.  So we'd really need a new image-maker page, where a user could paste in some RLE, adjust the zoom and dimensions to the right size (usually smaller than LifeViewer's current minima), produce the required .png file, and I guess save it to the local hard drive but only so that it can be uploaded right back to LifeWiki. :: It would be wonderful to be able to generate the entire text of one of these image tags, for copying and pasting straight into an article --


<nowiki>[[Image:toadsucker.png|framed|center|One particular toad sucker -- the arrow indicates 30 generations of evolution<br />{{JavaRLE|toadsucker}}]]</nowiki>
Thoughts, suggestions, worries, bug reports?  I'll add a link here to the RLE-scraper Python script when I've made it available on GitHub.  [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 14:21, 23 October 2018 (UTC)
: [https://github.com/dvgrn/b3s23life/tree/master/lifewiki-rlescraper Link!] [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 00:58, 26 October 2018 (UTC)
:: The next item on the RLE-scraper script TODO list will be to check for raw-RLE {pname}_synth files, and upload them if they aren't already there.  Longer term, the script can make a report of any differences it finds between files already on the server and the current contents of the RLE: namespace.  Probably best not to upload changed files automatically -- it seems worth having a human review any changes, and take the time to revert any changes that aren't approved for upload to the pattern collection. [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 10:46, 25 October 2018 (UTC)


:: -- where the process of uploading patname.png and patname.rle was made as easy as possible.  Or at least patname.png and an "RLE:patname" page, I suppose, if we come up with some way for admins to convert RLE:patname pages to uploaded patname.rle files in bulk... without security issues, since that's the reason that Nathaniel limited access to the pattern and script upload functionality in the first place.  Seems like a tall order to wrestle MediaWiki into shape to do this kind of thing easily, though. (?)
== Oscillator mods ==
:: Also of course I had to add a "[*.]conwaylife.com" exception under Privacy > Content Settings in Chrome, to avoid the "Could not open Image window!" error when I tried the 'o' hotkey.  It's so easy to get used to the LifeViewer just popping up and working, that that might slow people down quite a bit on average, without a hint about how to placate popup blockers. [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 12:32, 31 May 2017 (UTC)
::: Screenshots can now be create inline in the page if it contains an <img id="screenshot"> tag (rather than in a separate pop-up window). See [http://lazyslug.no-ip.biz/lifeview/plugin/viewer.html here] for an example page where you can enter RLE in a text box, click View to see it in LifeViewer, zoom and pan and run the pattern and then press hotkey 'o' when you want to create a screenshot image that you can then save from the page (right click on the image and "Save Image As..."). [[User:Rowett|Chris Rowett]] ([[User talk:Rowett|talk]]) 17:59, 3 June 2017 (UTC)
:::: Any ideas for solving the image size part of the problem?  It would be nice to be able to crop to particular dimensions rather than being stuck with a fixed-size image.  I suppose the text box could feed LifeViewers of a dozen or so standard sizes, all showing the same pattern.  Having a set of standard sizes might not be such a bad idea, really -- and if anyone wants to take the extra time they could always Save As and select a custom size in Paint or whatever.
:::: However, what would be really nice would be to somehow completely avoid the Save As and then immediate re-upload steps.  Starting from an inline LifeViewer display that has been panned and zoomed and themed and GPS-set and everything, maybe there's some automated way to produce the exact equivalent images and provide the new article text and formatting to match?  Or do we maybe not need to do that?  A LifeViewer with a setting that tells it to behave like an image might work just as well...? [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 21:12, 3 June 2017 (UTC)
::::: <nowiki>[[ VIEWONLY ]]</nowiki> ? [[User:Rowett|Chris Rowett]] ([[User talk:Rowett|talk]]) 21:55, 3 June 2017 (UTC)
:::::: Yeah, maybe <nowiki>[[ VIEWONLY THUMBNAIL HEIGHT hhh WIDTH www (etc.) ]]</nowiki>, or some replacement for THUMBNAIL that just removes the toolbars without shrinking the image, and also allows for a much smaller minimum height and width.  Sometimes an illustration just doesn't need very much screen real estate.
:::::: That's a lot of configuration to have to copy in for every little illustration, though, and I didn't put in the gridline or theme stuff to match the "standard" images on LifeWiki.  Maybe something like <nowiki>[[ WIKI ]]</nowiki> could lock down most of those settings to LifeWiki standards, while loosening up the height and width requirements?
:::::: Might even want to disable zooming and panning (and expanding-from-thumbnail), unlike the <nowiki>[[ VIEWONLY ]]</nowiki> tag.  At least it doesn't have to be easy to pop LifeViewer out of image-display mode, for this use case, though there could be a sneaky shortcut... [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 02:32, 4 June 2017 (UTC)
::::::: Added <nowiki>[[ NOGUI ]]</nowiki> which disables all controls and menus and removes height and width restriction (since the restrictions were there to allow the gui to fit). See [http://lazyslug.no-ip.biz/lifeview/plugin/images.html here] for an example. [[User:Rowett|Chris Rowett]] ([[User talk:Rowett|talk]]) 14:05, 4 June 2017 (UTC)
:::::::: In the next build hopefully you'll be able to click on the screenshot and it will automatically copy the RLE into the clipboard. This probably won't work on older browsers though. [[User:Rowett|Chris Rowett]] ([[User talk:Rowett|talk]]) 15:47, 6 June 2017 (UTC)
::::::::: In LifeViewer build 230 when you mouse over a <nowiki>[[ NOGUI ]]</nowiki> image an "RLE" link appears which when clicked copies the pattern's RLE to the Clipboard. See [http://lazyslug.no-ip.biz/lifeview/plugin/images.html here] for an example. [[User:Rowett|Chris Rowett]] ([[User talk:Rowett|talk]]) 13:09, 10 June 2017 (UTC)
2) We should probably add some detail to the howto, about how best to use the RLE:pname workaround for making pattern files available without officially uploading them -- how to handle RLE header lines, etc.  It does seem as if that has turned out to be a good idea -- right?


3) The question has also come up of whether to use static images or the LifeViewer for still lifes.  See [[User talk:wwei23]] for example links.  Almost all still life articles are currently supplied with static images, but there are a few exceptions, and maybe some possible future-functionality reasons to use the LifeViewer everywhere... easy copying-out of a pattern without navigating to the RLE page? Maybe an option to edit and experiment in a new browser window, someday? -- [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 16:36, 30 May 2017 (UTC)
I noticed that all the recently created oscillator pages from the latest Lexicon update (example: [[p29 pentadecathlon hassler]]) have their mods listed along with their periods even if they're equal. Is it agreed upon that this should be the case? Because if so I can go through the [[:Category:Oscillators with unknown mod|unknown mod]] list later and add in all the mods if no one objects to it. [[User:Ian07|Ian07]] ([[User talk:Ian07|talk]]) 14:53, 28 October 2018 (UTC)
:Since you mentioned it -- yeah, I'm using a script to generate images (though the process is only partially automated for animated GIFs, I do some manual post-processing on these). I keep meaning to release it, but it's a half-finished mess held together by little more than duct tape and prayers. Perhaps I'll get around to beating it into shape some time. [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 12:16, 3 June 2017 (UTC)
:: The latest builds (229+) of LifeViewer are probably a good option for static images. The new <nowiki>[[ NOGUI ]]</nowiki> script command allows an image to be displayed of any dimension greater than or equal to 64x64 pixels. Additionally clicking on the image will automatically copy the RLE to the Clipboard (on most modern browsers). [[User:Rowett|Chris Rowett]] ([[User talk:Rowett|talk]]) 21:32, 11 June 2017 (UTC)


== Change the pattern files back! ==
: I can't claim to have made a really deliberate decision to include the mod when it's the same as the period -- I was just blindly filling in values in the oscillator template I was using. I don't have any objection to listing both period and mod, but let's see if anyone else has a different opinion.  Many thanks for all the cleanup work you've been doing recently, by the way! [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 17:04, 1 November 2018 (UTC)


Remember the old pattern files in the same font as that appears in the edit box? Well, now it has changed, and now the Megacells are rendered useless! When I try to paste it in, Golly complains that the rule is invalid! I have to spend hours and hours reverting these changes. Surely, that's not what you want, right?-wwei23 3:39PM 7/2/2017 NY time
:: Just to chime in --- I think listing both the period and the mod is valuable even if they match. Otherwise, if an infobox doesn't have mod information, a user won't know if that's because we haven't filled in the info or because it's the same as the period.


:I'm sorry, but could you elaborate on what you mean? The "old" pattern files, as in uploaded files (not on-wiki RLE snippets), are still here, and are still linked wherever they used to be. For instance, [[112P51]] still links to [http://www.conwaylife.com/patterns/112p51.rle this RLE file]. I've also just checked [[P1 megacell]] and [[OTCA metapixel]], the RLE files are fine for both.
:: And I agree, thanks are due to Ian07 for all the clean-ups and other work. MediaWiki has barn (heh) stars; do we have something similar? Maybe we should. [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 21:01, 3 November 2018 (UTC)


:What, specifically, are you trying to paste into Golly that is causing problems? -- [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 20:28, 2 July 2017 (UTC)
== Conduit orientations and ghost Herschels==


== Unable to replace old synthesis files? ==
Quick question, y'all: is "T" a standard designation for a "turned" conduit output orientation? I'm asking because of [http://conwaylife.com/w/index.php?title=Template:Conduit&curid=11630&diff=48592&oldid=45674 this edit] to [[Template:Conduit]] --- I lack the expertise whether this is standard terminology or not.


I recently did a wave of adding syntheses to talk pages of certain articles, which was promptly followed by Apple Bottom uploading them (thanks!). However, it seems that some of them still have the old file, such as Elkie's p5, jam, cis-fuse with two tails, caterer, smiley, fore and back, griddle and block, Coe's p8, and copperhead. What could be causing this problem?
If it is, it should be documented in the template. [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 21:27, 3 November 2018 (UTC)


[[User:gmc_nxtman|-- gmc_nxtman]] ([[User talk:gmc_nxtman|talk]]) 20:03 UTC, Jul 15 2017
: Similarly, [http://conwaylife.com/w/index.php?title=Template%3AConduit%2FDoc&diff=50590&oldid=44902 this edit] to [[Template:Conduit/Doc]] doesn't seen to be adding anything useful to the page. As I've just started here I'm a bit hesitant to go around rolling back changes to Template pages though. [[User:Wildmyron|Wildmyron]] ([[User talk:Wildmyron|talk]]) 03:31, 12 December 2018 (UTC)


:Hmm. I just checked, and indeed had the same problem on [[Elkie's p5]] (but not the others): when I clicked on the synthesis file link, I got the old synthesis. Reloading that, however, then showed the new one.
:: Thanks for pointing these out.  I rolled back the "gray eaters" edit. The "T" option for symmetrical signals is a little more complicated.  It is definitely something that I tried as a classifier a few years ago, but it never really caught on.  Now just in the last few days Freywa has done a new update of the Elementary Conduits Collection with a better idea than "T", so I'll have a go at documenting that instead.


:Taking a closer look &mdash; my browser at least sends a <tt>If-Modified-Since</tt> header to the server, and the server accordingly replies with a <tt>304 Not Modified</tt> if the file hasn't been touched since then.  
:: Another conduit-related topic, for @Sokwe and anyone else interested:  it looks like there isn't universal agreement about whether ghost Herschels are a good idea or not, in conduit patterns.  I recklessly ported them in from the Life Lexicon, and I'm certainly going to keep them there because they're so darn useful.  You can copy conduits out of the Lexicon and string them together immediately.  My theory is that the same is true of patterns on the LifeWiki, and therefore that there ''should'' be a ghost eater in [[Syringe 2]], to match the one in [[syringe]] and the dozens of other instances in various recently added conduits.


:It may be that this doesn't work properly with newly-uploaded files for some reason, perhaps (this is a ''complete'' shot in the dark, mind) if the file has been uploaded the same day that it's being requested. I can see the server (wrongly) replying with a 304 code instead of <tt>200 OK</tt> (as it does otherwise), and the browser then concluding that the file it has cached is still valid, even though it is stale.
:: I can see how this looks a little bit like pollution, though, especially if it's extended to other types of outputs (which isn't very clean or easy to do in general, so let's not do that). I've been careful to link to [[ghost Herschel]] every time I use one (I think), so they shouldn't be mysterious for long -- and I'm seeing them getting a fair amount of use as markers in constructed patterns lately.  Anyone want to contribute other opinions on this? [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 13:33, 13 December 2018 (UTC)


:But my gut feeling is that this is unlikely, and that the browser is the culprit, somehow &mdash; presenting a cached (stale) version of the file without actually checking with the server to see if it expired. I'd have to investigate more to see what's really going on, but &ndash; TL;DR &ndash; a soft reload is enough to fix this, for me. Perhaps it will be for you, too.
== Categories and User Pages ==
Entity Valkyrie has been using pattern templates on user pages, causing those user pages to show up in [[:category:patterns]] and other categories.  It is my opinion that patterns on user pages should not be included in the categories.  One way to fix this would be to detect the namespace of the page that the pattern template is being used on. Something like the following:


:--[[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 20:30, 15 July 2017 (UTC)
<code><nowiki>{{#ifeq:{{NAMESPACE}}|User||[[category:patterns]]}}</nowiki></code>


== Listing multiple discoverers in pattern infoboxes ==
This would categorize a non-user page as a pattern, but would do nothing on a user page.


I added some extra parameters to the various pattern infoboxes to allow listing up to five discoverers for each pattern. The new parameters are named <tt>discoverer2</tt>, <tt>discoverer3</tt>, <tt>discoverer4</tt>, and <tt>discoverer5</tt>, in line with the already existing <tt>discoverer</tt>. The limit of five is arbitary, of course, but the maximum of discoverers we have listed at the moment is four (for the [[Half-baked knightship]]), so I don't foresee us needing six or more for a while.
Are there any objections to this proposal?  Comments?<br/>~[[User:Sokwe|Sokwe]] 08:11, 2 December 2018 (UTC)
: I like that plan, especially if someone else implements it who is less likely than me to break templates. I've been trying to keep user namespace stuff out of the main namespace in general, with fairly good success so far I think -- but I don't usually go in and edit things like categories when a page moves from the main namespace to the User namespace.  [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 11:53, 2 December 2018 (UTC)


I've also updated articles as necessary &mdash; those that had been manually put into discoverer categories, anyway. If there are articles that did not do this even though the article text itself may list several discoverers, they've not been updated yet.
== Documenting 12-Bit Still Lifes ==


There are two articles that I haven't touched: [[Heavyweight volcano]], and [[Pre-pulsar spaceship]]. Both list several discoverers, but the discoveries refer to later improvements to or variants of the base pattern, rather than true collaborations, contribution of components, or prompt optimization of a new pattern after its discovery.
AwesoMan3000 has been working on a fairly ambitious project to add articles for all of the 12-cell still lifes.  Most of them have systemic names, and it looks like negotiations have been at least partially successful about [http://conwaylife.com/wiki/Talk:Tub_with_tail_with_cape not just making names up] when long-standing existing names are available.  As of this writing, [[swimming cap]] is still an unnecessary neologism for "integral with tub and tail", I believe, and there may be others -- it's hard to keep up, but this is a work in progress with lots of ongoing adjustments.  The plan is for it to be complete by the end of the year.


I'm leaning towards listing multiple discoverers in the infobox on both; with the [[Heavyweight volcano]], the variants seem to be considered just that -- variants of the same basic pattern --, and with the [[Pre-pulsar spaceship]], the different versions are no more fundamentally different than (say) the different [[Schick engine]]s, but I'd like to put this up for discussion first and see what the consensus is. (FWIW, the [[Heavyweight volcano]]'s variants were also discovered in different years, so I might have to further extend the pattern templates to allow specifying multiple years of discovery, too. But that doesn't feel quite right, and leads to further questions of what exactly these templates are to inform about anyway: specific individual patterns, or families of patterns?) -- [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 11:25, 18 July 2017 (UTC)
A number of issues have appeared that I'd be interested in trying to get some kind of consensus about:


== Niemiec IDs in pattern infoboxes ==
# when a still life is renamed for consistency -- e.g., "X and Y" names have been rapidly changing to "X on Y", as in [[block on cap]] -- changing the pname to match the name tends to break lots of links, especially for older 12-bit objects where Life 1.05, Life 1.06, and .cells formats are available.  I'd like to suggest that we can take the radical step of dropping support for Life 1.05, 1.06 and .cells formats, and removing the links for those formats whenever we have an opportunity.  Is there any disagreement on this?  After that, it should be fairly workable to add just RLE:pname.rle and RLE:pname_synth.rle pages wherever necessary.  That will eventually fix the remaining broken links (see below).
# if the pname is changed, '''or''' if the still life in question didn't have an existing article on LifeWiki, AwesoMan3000 has been promising that there is an RLE file, using '''rle = true''' in the infobox parameters, and then uploading raw RLE under that pname.  If I remember right, the '''rle = true''' is currently needed to get the infobox template to notice that LifeViewer can be used to display the pattern, instead of looking for an image file.  There isn't actually an uploaded RLE file in the LifeWiki pattern collection, so .rle and _synth.rle links will give Not Found errors for the time being.
# Several still life names have been changed due to an alphabetization rule, e.g., [[barge siamese loaf]] instead of '''loaf siamese barge'''.  This poses the same dangers of link breakage as above, fixable in the same way.  Or... it also seems workable to change the name of the page but keep the pname the same, at least until replacement raw RLE is uploaded.  See [[Talk:Hat_siamese_vase]].  This is being done for the moment in several of the "X on Y" pages.  Am I missing other possible problems with this brave but potentially foolhardy renaming-for-consistency project?
# When no systemic or traditional name is available for a still life, either on Catagolue or in Mark Niemiec's database, it's hard to avoid the temptation to invent new names that no one has ever used before, and most likely no one will ever use and they'll just cause confusion.  One way around this would be to make it standard practice to write the article using the apgcode as the systemic name.  I don't like this idea all that much, just because the pname would have to have an underscore in it for readability -- and MediaWiki likes to change underscores to spaces in some contexts, and I'm relatively sure that Murphy's Law will produce some unintended consequences somewhere.  Still, it's been tried, and it appears to work okay -- see [[xs15_3lkia4z32]].  Does that seem like a reasonable stopgap solution for unnamed objects?  We can always move apgcode-named articles later if a better systemic naming convention shows up.


I've started filling in ID number for Mark Niemiec's pattern database in pattern infoboxes. Still lifes are done, with the following exceptions:
===Next Steps===
When all raw RLE files have been added in the RLE: namespace for this project, I can re-run the auto-uploader script and make a set of new RLE files for a bulk upload to the LifeWiki server.  The script will have to be updated to check for RLE:pname_synth pages as well as RLE:pname files.  If the RLE namespace has been populated correctly, this will fix all the remaining broken links.  I'll plan to do a round of auto-updating early in 2019.


* Still lifes with population eight or less do not have numbers, and are instead referred to by name in Mark's DB.
As [[LifeWiki:Tiki_bar#Semi-automated_collection_of_raw_RLE|before]], if a pname.rle or pname_synth.rle pattern has already been uploaded to the LifeWiki server, it won't be overwritten by anything added to the RLE namespace. Eventually the script might check whether the uploaded pattern is the same as the raw RLE, and produce a report of any discrepancies so they can be resolved. Not sure I'll get around to adding that feature in this next update, though.
* Still lifes with population twenty-five or greater do not have numbers. This affects:
** [[Cloverleaf interchange]], [[Professor]], [[Cthulhu]], [[Omnibus with tubs]], [[Eater 4]], [[Cis-mirrored worm siamese cis-mirrored worm]], [[House on house siamese table-on-table weld hat-siamese-hat]], [[Very^9 long boat]].
* A few still lifes with population twenty-five or greater nonetheless appear in the DB, without ID numbers. These are:
** [[Omnibus]], [[Tetraloaf I]], [[Mickey Mouse]].
* A number of still lifes with population between nineteen and twenty-four are not identified by the [http://conwaylife.com/ref/mniemiec/lifesrch.htm search widget]. These are:
** [[Very^8 long boat]], [[Very^7 long boat]], [[Very^6 long boat]], [[BTS]].
* A number of still lifes with population eighteen are similarly not identified by the search widget; since Mark provides complete lists of these, they could theoretically be found. These are:
** [[R-mango and house]], [[Longhook and dock]], [[Cap and dock]].


One more thing I noticed: [[Super loaf]] has two ID numbers in Mark's DB, 17.3188 (the regular number) and 17#266. Does anyone know what list the second number refers to? I initially thought it might be from Pentadecathlon, but [http://pentadecathlon.com/objects/object-info.php?objid=17.266 17.266 on there] is a different object.
Comments, concerns, suggestions? [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 17:23, 21 December 2018 (UTC)
: Also, AwesoMan3000 put the following in checkin comments for [[beacon on dock]]:
<pre>can we get a tiki bar discussion on whether all disambiguation pages should have (disambiguation) on the end, by the way? i'd rather cut down on unnecessary redirects where possible</pre>
: So, okay, here's a Tiki Bar discussion. I don't see why the page shouldn't be moved to [[beacon on dock (disambiguation)]] to match the original [[beacon and dock (disambiguation)]] page. I'm not a big fan of disambiguation pages in general, especially where they can be avoided by making a single page for the most common definition, and linking from that page to other possible meanings under different names. But that doesn't work for cases like this where there isn't a most common definition. [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 20:44, 21 December 2018 (UTC)


Similar ideas also exist for other still lifes in Mark's DB; for example, [[Shillelagh siamese open house siamese snake]] is listed as both 16.312 and 16#17. Any ideas?  -- [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 12:13, 20 July 2017 (UTC)
::'''Re: Made-up names'''


== Lists of rules ==
::I agree that we should stick to established names when they're available and not make up new ones. OTOH, when an object does ''not'' have any established name (and I really do mean ''does'' not, not just "whoever wrote the article couldn't remember it"), I think it's in the best tradition of Life (and life) to give it one.


There's been some contention about what rules should and shouldn't be added to the various lists that the LifeWiki currently has. Broadly speaking, we have two kinds of lists of rules:
::The question then is whether the LifeWiki is the right place for this. My general feeling is that we're a relatively conservative part of the Life universe: we aim to document, not invent. We're not as anal about it as Wikipedia with its "no-original-research" and "verifiability-not-truth" criteria for inclusion, and neither do we have to be; but just like we're asking people to not create wiki pages for new discoveries of their own but instead share them on e.g. the forums, we can also ask people to not name previously-unnamed on the wiki but instead resort to (again) the forums, etc.


# lists of examples embedded in articles such as [[Larger than Life]], [[Generations]] etc.; and
::OTOH this may very well lead to a situation where a user wanting to name an unnamed object will simply suggest the name on the forum in an appropriate thread (is there one yet?), wait for a few days/weeks/months, and conclude from the resulting thundering silence that there are no objections -- all in favor --, and go ahead and name the object on the wiki. The end result would be the same, modulo the extra pain of that extra waiting time.
# lists of rules living in their own article, e.g. [[List of Generations rules]].


([[List of rules investigated on Catagolue]] is a special case, insofar as that it aims to provide a service that Catagolue itself doesn't: a comprehensive list of rules investigated on there. If such a list were available on Catagolue, this article would not be necessary.)
::And would this gain us anything?


It's my belief that the former kind of list should not be comprehensive, but rather just list a few (important, interesting) examples to give readers an initial idea of and feeling for the kind of rules making up a given kind of CA. I further believe that this is not a matter of contention.
::FWIW, what are we looking to gain from a policy that forbids new names from being put on the wiki first anyway? If we don our documentationist's hats (documentationist --- I hope that's a word!) and take no position on whether a named object is somehow preferable to an unnamed ones, if we merely want to document the Life's community works, passively and from the outside, then yes, this is preferable. If we see ourselves as being an ''active'' part of the community, we might find named objects preferable to unnamed ones (and "proper" names preferable to systematic ones, etc).


The latter kind of list can be more expansive, but I don't know if we should try to list ''every'' single last rule that anyone's ''ever'' come up with: not all rules are equally interesting, after all. And the fact that people have an (understandable) tendency to overestimate the significance of their own creations and will prominently put these into those lists might give readers a skewed impression of how notable certain rules really are (or aren't).
::I think I'm in the latter camp myself. I like named objects.


But edit wars are unpleasant, an in order to rectify this situation I'd like to propose three things.
::What I am worried about is that, if we allow new names to be "born" on the LifeWiki, &hellip; shall we say, ''easily excited'' users might get carried away and go on an editing spree, adding hundreds of new names to previously unnamed objects without any discussion or consensus.


# The "lists of rules" articles we have should continue to focus on notable rules.
:: Going off on a tangent for one paragraph, I also think the creative naming in Life stem in no small part from the need to be able to ''talk'' about objects. These days we have apgcodes, so we can indeed refer to [[xs15_3lkia4z32]] without it having a proper names.  
# Since what is or isn't "notable" is difficult to capture, people should simply refrain from adding their OWN creations, the same way people are asked to refrain from writing articles on their own discoveries. If a rule ''is'' notable, someone else will eventually add it.
# Finally, since there clearly is a desire to have a comprehensive list of rules that everyone can freely add to, maybe we should create one.


We'd still have to figure out what form that comprehensive list should take and what namespace it should live in -- or whether it should live on the wiki at all, or whether the forums might not be a better place. If it should indeed live on the wiki, we'd also have to figure out its relationship to the lists of notable rules we currently already have.
::The best solution I have is what one might call a four-eyes approach, where


All of this is just food for thought, right now. And perhaps I'm overthinking things, and a rule of "don't add your own rules" is all we really need, just like "don't write about your own patterns" has worked well for keeping the pattern articles uncluttered.
::# New names are valued in principle;
::# But the person proposing them can't be the one naming the object on the Wiki;
::# If someone wants to add page for a (notable) object that doesn't yet have a name, they should use the object's apgcode.


Thoughts? [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 12:10, 7 August 2017 (UTC)
:: Whether names are proposed on the forum or elsewhere is largely irrelevant than, though I'd suggest a dedicated thread on the forum. I'd also suggest a certain cool-down period between the proposal and the wiki edit, so that others have a chance to speak up. (What I'm worried about there is the possibility that ''two'' easily-excited users, might join forces after one of them proposed a new name elsewhere, say on Discord: one would propose it, and right after the other would accept it).
: I'd certainly go and search in a comprehensive-list-of-rules page, once it got comprehensive enough. It would be very convenient when I inevitably forget what someone means by "salad", or "{a-z}life", or whatever.
: The wiki is a little more appropriate as a location, I think... or at least it would be if the process of getting trusted didn't take so long (still working on that detail).  It would work almost as well if someone made a dedicated forum thread and then kept the top posting up-to-date. But that's pretty awkward when potential contributors just want to be able to sneak in and add a name/alias pair on the spur of the moment.
: Seems like the table will need a rule string, a list of aliases (hopefully a short list, but there might be more than one sometimes), any classification columns like "Character" (but probably keep those to a minimum), and a place for a link to a rule table posted on the forums. And maybe a separate link to a forum thread or posting or external URL, if any, documenting interesting discoveries in that rule? [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 13:50, 15 August 2017 (UTC)


::OK, let's put it on the wiki then, that's probably the most sensible place to have it. The "Nathaniel-doesn't-scale" problem with trusting users appears to be fixed now, too, so everyone can and will indeed be able to add to this. :)
::'''Re: pname changes, Life 1.05/... support'''


::I agree that it would be best to not put too much information into this list, and instead just use it as a hub linking to other places. I'd lean towards keeping things like "Character" out of this list, but that's me. We'd definitely want to include the rulestring, name(s) and any relevant links, to forum threads or otherwise.
::No objects to dropping Life 1.05, 1.06, and cells; RLE has clearly emerged as the standard at this point. I don't know if anyone's still using a CA simulator that's not capable of using RLE, but the lack of complaints about ''new'' patterns only having RLE files available and nothing else leads me to believe there isn't. I'd say let's remove support for these and see if anyone speaks up. If there's no complaints, we can flip the switch for good.


::I've already got a script that parses downloaded copies of the "Other rules" forum's thread overview pages, extracts rules from thread titles and associates threads with each rule; this could be used to seed this article, since the script could easily output in different formats.
::As for pname changes in general, they're still a pain. I'd suggest that


::There's the issue of keeping this list up-to-date, of course. Do we commit to trying to do so, or do we just say "we've created this list, but we're not making any claims as to completeness, and it's up to the larger community to add to it"? (I'm leaning towards that; I don't want to commit to keeping this up to date by hand, and while semi-automated updating works for [[List of rules investigated on Catagolue]] it wouldn't mesh well with an article that is hopefully going to see lots of human editing.)
::# Whoever changes a pname is responsible for cleaning up the resulting mess; and
::# pname changes shouldn't be mandatory without a good reason.


::Another issue we'd have to take into account is that different rulestrings might in fact represent the same CA: for example, B2-cek/S23 is the same as B2ain/S23. So we should (probably) try to normalize rulestrings in some way, and I can see two obvious ways of doing that:
::What is a "good reason"? A typo, say --- "<tt>pname = 2enginecrodership</tt>" would obviously require correction. OTOH, if [[Beluchenko's p51]] has "<tt>pname = 112p51</tt>", I see no problem with that at all. (If anyone else does, they're welcome to change it, provided they clean up afterwards, as per 1. above).


::# Don't allow negated conditions in the canonical rulestring. This is what my scripts do internally to handle non-totalistic rules.)
::'''Re: infobox parameters'''
::#: Upsides: relatively easy to determine.
::#: Downsides: with B4 and S4 in particular, negation-free rulestrings can get quite long and unwieldy.
::# Normalize the same way that [[Catagolue]] does, however that is.
::#: Upsides: shorter canonical rulestrings; no proliferation of different methods of canonicalization on different sites.
::#: Downsides: not necessarily so easy to figure out. Does not extend to classes of CAs Catagolue doesn't cover.


::In any case we'll definitely want to support multiple rulestrings in the same entry, as different people might express (and search for) the same rule in different ways. We could either do this by having a "canonical rulestring" column and then an extra "rulestring aliases" column, or eschewing the former in favor of just the latter. Having only the latter column feels cleaner to me; I'm a little concerned about duplicate entries, but perhaps that's not such a big concern in practice. (If it only happens sporadically, it can be mopped up easily enough, by us or by other editors.)
::These should '''always''' correctly reflect the status quo. If a pattern doesn't have an RLE file uploaded, the infobox template call shouldn't have "rle=true". Don't lie to the infobox templates! It's the responsibility of those who create articles to make sure all parameters are correct to the best of their knowledge.


::There's also the question of whether it would make sense to separate forum thread links from other links. (Probably not.) We'd probably want Catagolue links as well on this page. (And of course if we happen to actually have an article on a rule, we'd definitely want to link to that.)
::'''Re: RLE files and raw RLE snippets'''


::That's about what I can think of right now. [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 21:02, 15 August 2017 (UTC)
::I'll leave this in your capable hands. :)


:A first stab is up at [[User:Apple Bottom/Sandbox/List of rules]]. All of this is auto-generated by a script looking for threads that appear to have rules in their title.
::'''Final note'''


:What the script doesn't do, right now:
::I think having articles on all 12-bit still lifes is a worthwhile endeavor, but -- in light of who's doing this, and admittedly without actually having looked at anything that was created recently -- I'd like to remind everyone who's creating articles that they have a duty to exercise care when doing so. In particular, this means not just starting a whole lot of articles and leaving them in half-broken states.


:# Handle [[Larger than Life]] rules. Fortunately none seem to be mentioned in thread titles so far; there's a general LtL thread, but no dedicated threads for specific LtL rules.
::I'd also like to remind people that they should learn from their mistakes. Nobody's perfect, especially newcomers; the LifeWiki can be difficult to get used to, I imagine. We have the right to make mistakes, but we have the duty to learn from them. He who keeps making the same mistakes time and again is either ignorant, or careless, or both, and those are not qualities a LifeWiki editor should have.
:# Fill in rules' character. This would need another (hand-curated) datafile to draw on.
:# Recognize rules only mentioned by name (e.g. in thread 1852, "Day and Night puffer").


:The script DOES detect certain edge-cases where it isn't sure whether something is a rule or not. (There is, unfortunately, some inherent and unresolvable ambiguity in rule notation. Does e.g. "6c/123" refer to a spaceship speed, or the cellular automaton B123/S6c? It's not possible to say for sure without context.)
::(And that's about all I can think of, off the top of my head.) [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 11:20, 22 December 2018 (UTC)


:I'm also not particularly happy with the formatting yet; tweaks welcome. The generating script (quite dirty, especially the parts I tweaked just now to generate a wikitable) is [https://raw.githubusercontent.com/AppleBottom/catagolue/master/parse_othercas_forum.pl here].
::: Thanks for the thoughtful review. A couple of template issues have come up where some expert advice would be helpful:
::: 1) A [http://www.conwaylife.com/w/index.php?title=Template:Oscillator&diff=52573&oldid=50579 change made yesterday] to [[Template:Oscillator]] seems to be not working to populate [[:Category:Periodic_objects_with_minimum_population_3]] and all other, um, categories in that category. Is there a misplaced character somewhere in those hideous piles of parentheses, or is the problem actually somewhere else?
::: 2) Is it possible to do Template Magic (TM) to make glider syntheses behave the same way as regular pattern files do?  That is, if '''synthesisRLE = true''', then the standard link to an uploaded pattern file should appear in the Glider Synthesis section of the infobox -- but otherwise, if there's a page at '''RLE:{pname}_synth''', then a "raw RLE" link should appear instead.
::: Here's an example of an update currently in process:  we used to have an uploaded eateronboat.rle --
#N Eater on boat
#C A 12-cell still life consisting of an eater 1 and a boat.
#C http://www.conwaylife.com/wiki/index.php?title=Eater_on_boat
::: -- and an uploaded eateronboat_synth.rle --
#N Eater on boat_synth
#O Mark D. Niemiec
#C Glider synthesis of eater on boat.
#C www.conwaylife.com/wiki/index.php?title=Eater_on_boat
::: Then along comes AwesoMan3000, who probably thinks that that's a lousy name for this object because it can mean two different things, and isn't really a common use of "on" anyway. So the name gets upgraded to the more specific "boat tie eater tail", and all the appropriate changes get made to the text of the article.  And there's a redirect from [[eater on boat]], so damage is limited to other pages that link to this page.


:One final note: I should reiterate that there's no plans on my part to keep this list updated when/it it goes live. In particular, I'd not try and splice links to new forum threads into the list after it's been edited manually.
::: However, AwesoMan3000 can't do anything directly about those uploaded pattern files, or the comments in those files.  The simple solution is to just leave the pname the same, still pointing to the old pattern and synth files. That doesn't break any links, but it's a bit confusing because the name doesn't match the article.


:I'd also like to suggest that the final version, if created, should live in the LifeWiki: namespace. [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 20:53, 26 August 2017 (UTC)
::: If we want to get boattieeatertail.rle and boattieeatertail_synth.rle files uploaded to the LifeWiki server, currently what we can do is add those as raw RLE, and change the pname in the article to '''boattieeatertail'''. I've done that experimentally for this example. As a nice side effect, as soon as the pname changes, LifeViewer shows up in the infobox instead of a static image.


== LifeViewer image display and pattern copy functionality ==
::: That's not too exciting when we're dealing with still lifes... but it does start to get people used to an easier way of getting a copy of the RLE to paste into Golly or wherever -- click to launch LifeViewer, then Ctrl+C.


Build 233 of [[LifeViewer]] is now live here on the Wiki and includes a couple of helpful new features:
::: (If anyone is following along, [[Beehive_at_loaf]] is currently an example of the old style of article, with a separately uploaded static image -- no LifeViewer, just because no raw RLE has been uploaded to [[RLE:beehiveatloaf]].)


1. LifeViewer can now be used to display static images with the <nowiki>[[ NOGUI ]]</nowiki> script command. You can right click on the image to save it (Save Image As...).
::: Okay, so here is where the difficulty shows up!
{{LV:Viewer|b2o2b2o$3b2o$3b2o$obo2bobo$o6bo2$o6bo$b2o2b2o$2b4o2$3b2o$3b2o! [[ NOGUI THEME 6 GRID HEIGHT 128 WIDTH 128 ]]}}


Images can be as small as 64x64 pixels:
::: '''PROBLEM''': as soon as the pname is changed from "eateronboat" to "boattieeatertail", the '''rle = true''' and '''synthesisRLE = true''' lines in the infobox suddenly turn into lies.  They're only temporary lies, because there's a plan to run the auto-uploader script and get the new RLE uploaded.  But when RLE is being added for dozens or hundreds of still lifes, there's no way that an admin is going to keep up with running the auto-uploader after every change.
{{LV:Viewer|b2o2b2o$3b2o$3b2o$obo2bobo$o6bo2$o6bo$b2o2b2o$2b4o2$3b2o$3b2o! [[ NOGUI THEME 6 GRID HEIGHT 64 WIDTH 64 ]]}}


::: In fact, it just plain doesn't work that way -- the auto-uploader does a scan of the entire main LifeWiki namespace and creates an archive ZIP file of a big pile of changes, intended to be sent to Nathaniel to do a bulk upload to the server.  That should really only happen a few times a year, not every time a change happens. So we wait until a batch of changes have been made, then collect and send them.


2. LifeViewer can now copy the pattern source RLE to the clipboard. For a <nowiki>[[ NOGUI ]]</nowiki> LifeViewer, simply mouse over the image and click on it when "Copy" appears. For a standard LifeViewer click on it to interact and then use Control-C.
::: Theoretically we could remove the '''rle = true''' and '''synthesisRLE = true''' lines from each article, then add them right back again after the auto-upload is done. But when the timeline of a project is short enough, that looks like a highly irritating waste of time -- basically, Life is too short.
{{LV:Viewer|b2o2b2o$3b2o$3b2o$obo2bobo$o6bo2$o6bo$b2o2b2o$2b4o2$3b2o$3b2o! [[ THEME 6 GRID HEIGHT 240 WIDTH 480 ]]}}


You can disable the Copy functionality with the <nowiki>[[ NOCOPY ]]</nowiki> script command:
::: I hope everyone is okay with the idea of saying that these particular deliberate temporary inaccuracies in infobox parameters are actually not "lies", but rather something along the lines of "promises". [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 13:40, 22 December 2018 (UTC)
{{LV:Viewer|b2o2b2o$3b2o$3b2o$obo2bobo$o6bo2$o6bo$b2o2b2o$2b4o2$3b2o$3b2o! [[ NOGUI NOCOPY THEME 6 GRID HEIGHT 128 WIDTH 128 ]]}}


[[User:Rowett|Chris Rowett]] ([[User talk:Rowett|talk]]) 19:11, 15 August 2017 (UTC)
:::: As for the first issue, I checked and double-checked the template and didn't find any syntax errors. What's weird is if you go to the [[Blinker]] article you can see that it has the [[:Category:Periodic objects with minimum population 3]] category, but the category page says it's empty. This makes me think that there's some sort of glitch with MediaWiki rather than a syntax error, especially considering that, as you pointed out on Discord, LifeWiki is running a [https://www.mediawiki.org/wiki/MediaWiki_1.23 pretty outdated version] of it. [[User:Ian07|Ian07]] ([[User talk:Ian07|talk]]) 14:00, 22 December 2018 (UTC)


:Fantastic news! This might be the (beginning of) the end of manually-created and -uploaded images for pattern infoboxes. :D So the way forward would be, I think:
::::: Can the links to pattern files be directed to a dynamic endpoint that creates the pattern file? For all patterns with apgcodes, for instance, Catagolue could theoretically include endpoints of the form /objfile/<rule>/<apgcode>/<format> (with support for RLE, Life 1.05, and Life 1.06). That would mean that humans only need to provide static RLE files for large and/or aperiodic patterns. [[User:Calcyman|Calcyman]] ([[User talk:Calcyman|talk]]) 00:36, 23 December 2018 (UTC)


:# Decide on the "standard" size images in pattern infoboxes. Something like 256x256? That should be neither too big nor too small. (Whatever we decide on here should be kept in some configuration <tt>Template:</tt> so that if we decide to adjust it later, we'll only have to do so in one place.)
:::::: Late reply, but yes, that would definitely be possible. Pattern file links are handled by [[Template:PatternDownload]], which already gets passed the apgcode (if we have it, for a given object), so it'd only be a matter of tweaking that template. And I think doing away with manually-generated and -uploaded RLE files where possible would save us a lot of work.
:# Rig [[Template:Pattern]] etc. to check for an RLE snippet by default, and use that to display an image if it exists; otherwise, fall back to the old way of displaying uploaded files.
:# Perhaps introduce a new template parameter to override this and force the display of a manually-uploaded image; I'm thinking of articles like [[26-cell quadratic growth]] there. Granted, that one doesn't have an RLE snippet anyway, but there might be situations where we want a "special" image.


:While we're at it we may also want to change the "View static image" and "View animated image" links in the infoboxes to also additionally link to the files' description pages; but that's not directly related.
:::::: (I should qualify this by stating that I'm not suggesting we delete existing manually-generated pattern files; merely that having Catagolue be able to do this would allow us to not have to worry about future ones, except for Patterns of Unusual Size&trade; etc).


:Am I right, BTW, in assuming that NOGUI viewers will always auto-adjust to fit the pattern? [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 21:12, 15 August 2017 (UTC)
::::::: I do like the idea of not having to upload pattern files for all the files that have apgcodes, theoretically.  On the other hand, the fastest way to get a picture of an object into an article about the object, these days, is to upload RLE to the RLE namespace and add the relevant infobox.  And the RLE-scraper script can then (with just a small amount of help from me) magically grab all the new pname-linked RLE files, put them in a ZIP archive, and send it to Nathaniel to put on the server -- once every month or three as needed.
::Yes, they use exactly the same rules as standard viewers. By default they will auto-adjust to fit the pattern but you can overrule this with script commands:
::::::: I can add automatic conversion of everything to .cells format and add those files automatically to the ZIP file sent to Nathaniel.  So would we gain much by being able to link to a pattern file on Catagolue?  Not sure.
::{{LV:Viewer|b2o2b2o$3b2o$3b2o$obo2bobo$o6bo2$o6bo$b2o2b2o$2b4o2$3b2o$3b2o! [[ NOGUI NOCOPY THEME 6 GRID HEIGHT 128 WIDTH 128 ZOOM 4 X 10 ]]}} [[User:Rowett|Chris Rowett]] ([[User talk:Rowett|talk]]) 04:47, 16 August 2017 (UTC)


== 5s Project Transfer Possibility ==
::::::: I'm starting to work on support in the script for {pname}_synth files as well, so that if people put something into RLE:{pname}_synth, it will get turned into {pname}_synth.rle and get thrown in the ZIP file along with everything else.  But here I'm really not sure if that's the best thing to do, at least for a lot of cases.  There are a couple of big sources of synthesis RLE:  chris_c's script (via Catagolue these days) and Mark Niemiec's database.  Maybe Catagolue could serve up RLE without the LifeViewer, or maybe the "Glider synthesis" section in the infobox could be tweaked so that it links to the LifeViewer page on Catagolue showing the relevant synthesis?


I have been asked if it was possible for me to put the spaceships (in some format) from the 5s project on the forums here, so that everyone with a "trusted account" could edit and add new speeds or improve previous size records. Is this a feasible thing to do? If so how could this be implemented? I figured I'd ask here before doing anything.
::::::: Then for anything that has a synthesis in Mark Niemiec's database, we just need to collect the identifiers and add them to the infobox template (somehow -- suggestions gratefully accepted), then set up the template to link directly to those files.  For example, the path to the beehive synthesis is [http://www.conwaylife.com/ref/mniemiec/0/6hv.rle "0/6hv.rle"], and the path to a beehive on cap synthesis is [http://www.conwaylife.com/ref/mniemiec/14/14-50.rle "14/14-50.rle"].


:Should be quite doable &mdash; Collaborative editing is what wikis are all about, after all! I see you've already created [[User:AforAmpere/5sp1-10|a subpage in your userspace]] for this; I think that's indeed the best way to go about it. (The main article namespace, being mostly focussed on [[Conway Life]] and general CA-related glossary, would be a poor fit.)
::::::: That way RLE:{pname}_synth pages would only have to be collected and uploaded for patterns where no synthesis is available on Catagolue or on Mark's site.


:Have you seen [[LifeWiki:Game of Life Status page]], [[LifeWiki:Spaceship Search Status Page]] and [[User:Sokwe/Spaceship searches]]? These might provide some ideas as how to structure the 5s status page. (Personally, BTW, I'd just keep all periods on one page, and not create separate pages for p1-10, etc.)
::::::: Something like this would prevent us from continuing to upload so many no-value-added syntheses that are just copies of something from elsewhere (and that won't get updated when Mark's database or chris_c's script gets updated).


:If anyone wants to contribute but doesn't have the Trusted flag, just have them post in the [http://www.conwaylife.com/forums/viewtopic.php?f=3&t=2300 "Massive spam attack" thread] (after creating an account on the wiki if necessary). All wiki admins can hand out the flag nowadays, so there shouldn't be too many delays.
::::::: I don't think we should necessarily start the big project of supplying all those Niemiec-database identifiers to the infoboxes ''quite'' yet:  Mark has said recently that he's close to rolling out a new version of his site, and it might make sense to wait and make sure nothing major has changed in the new version.  But we could try the experiment of getting everything set up correctly for, say, the [http://www.conwaylife.com/ref/mniemiec/p1-12.htm 12-bit still lifes] that were added to the LifeWiki recently.


:(Also, for the benefit of anyone else reading this, the 5s project thread is [http://www.conwaylife.com/forums/viewtopic.php?f=11&t=2892 here].)
::::::: TL;DR: Templates need tweaking. Anyone interested in trying some experimental additions to the Glider Synthesis section? [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 03:59, 10 January 2019 (UTC)


:[[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 11:06, 18 August 2017 (UTC)
:::::::: It seems that MDN has helpfully highlighted objects in a different colour in his version of Extended RLE. I think this means that the .rle files can be automatically reverse-engineered to deduce the objects that are produced, enabling the generation of an apgcode-to-mniemiec-url mapping. [[User:Calcyman|Calcyman]] ([[User talk:Calcyman|talk]]) 16:10, 10 January 2019 (UTC)


::[[LifeWiki:Smallest Spaceships Supporting Specific Periods]] seems like the logical idea, since the other project pages are hosted in said namespace.
::::::::: That might work, though it might also be more trouble than it's worth to get the automated reverse-engineering working.  It's not just the target objects that get the "x" color, but also the intermediate stable stages -- and there are a lot of those in some cases, when multiple construction paths are documented.  If you censused all the 'x' objects, the most common object is probably the target object -- or the one that's farthest to the right, I suppose.


::Personally I would prefer it if the project was laid out with different pages for each period, with each period being linked to from the page linked above; this way, periods could be "completed" (i.e. every single speed, direction, etc. combo of that period is known, and all examples have exactly 3 cells), and this could be clearly marked on the main page with the list of periods. I also had a much more complex idea, involving sorting the ships by direction and then perfectness of speed (c/n, 2c/n, 3c/n...), but I don't think a lot of people would like said idea. Also, I feel as though keeping every single spaceship on the one page (or three pages, assuming the direction categories will be separate) would get cluttered very easily, and not as easy to navigate as a list of periods.
::::::::: But that may not be necessary.  Mark sent an email to me over half a year ago saying that he had put together "...vastly improved search pages [which] should include everything necessary to perform searches... pattern lists, statistics for each pattern, and links to other sites (like Catagolue, Pentadecathlon, David Eppstein's Glider Repository, and LifeWiki)". So it's possible that Niemiec Database Mark 2 (heh) might provide a list of the required apgcodes with no need for reverse engineering.


::- [[User:AwesoMan3000|AwesoMan3000]] ([[User talk:AwesoMan3000|talk]]) 12:36, 18 August 2017 (UTC)
::::::::: We'll see when the time comes, I guess.  At worst, generating that lookup table manually or semi-manually would be a one-time effort -- painful, but finite. [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 21:44, 10 January 2019 (UTC)


::: Maybe it could combine those, as I said in the 5s thread, that it could be split into multiple pages, but with multiple periods on each page. Can the page be under the LifeWiki tag? I think [[LifeWiki:Smallest Spaceships Supporting Specific Speeds p1-10]] could work, making pages for each set of 10 or so periods, adjusting based on number of spaceships per period. I don't think putting a page for each period would be a good idea, as it would be way too many pages.
Resetting indent back to zero, but still talking about kind of the same thing:


:::- [[User:AforAmpere|AforAmpere]] ([[User talk:AforAmpere|talk]]) 15:49, 18 August 2017 (UTC)
I just thought to check the LifeWiki pattern collection for outdated links to Mark's database.  There were 165 RLE files with dead links in the comments.  I fixed two of them, one by creating an RLE:{pname}_synth page and one by editing the pattern comments and deleting and re-uploading the file by hand... and then thought, "Nope.  There has to be a better way."


::::[[LifeWiki:Smallest Spaceships Supporting Specific Periods]] sounds good to me. If you want to break this up by individual period (or group of periods), I'd suggest using subpages of that page, e.g. [[LifeWiki:Smallest Spaceships Supporting Specific Periods/Period 1]] or [[LifeWiki:Smallest Spaceships Supporting Specific Periods/Period 1-10]] etc.
Now I'm just doing a search-and-replace, "http://www.conwaylife.com/ref/mniemiec" instead of "http://home.interserv.com/~mniemiec/", and will ask Nathaniel to re-upload all those files to the server along with the output of the auto-upload script.


::::Transclusion is not limited to templates, BTW, all pages can be transcluded, so the "main" page for this project could have both an overview, and then transclude its subpages so that viewing the "main" page would still give readers all information at one glance. The syntax for transclusion is e.g. <tt><nowiki>{{LifeWiki:Smallest Spaceships Supporting Specific Periods/Period 1}}</nowiki></tt> &mdash; same as for templates, except you have to explicitely give the namespace. It's also possible to use the usual template tags, such as <tt><nowiki>noinclude</nowiki></tt>, <tt><nowiki>includeonly</nowiki></tt> and <tt><nowiki>onlyinclude</nowiki></tt>, to control what does/doesn't get transcluded.
Of course, if these _synth files were created when that website was available, a lot of the actual syntheses might be out of date as well. A dynamic endpoint somewhere for reporting the actual latest synthesis for each object would certainly be a step up from the current perpetually out-of-date synthesis files.


::::My personal feeling is that unless you expect the page to grow very large (say, &gt;100 KB) this would be overkill, but I don't have a horse in this rodeo. [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 10:52, 21 August 2017 (UTC)
-- On the other hand, there are big advantages to Mark's comprehensive collections of practically every historically known way of constructing each object.  Sometimes you might want a synthesis with a suboptimal number of gliders but better clearance than usual, or might want an incremental construction starting from one half of the still life, or whatever.  Reporting just a single current-best synthesis would lose a lot of that useful information. [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 22:25, 24 January 2019 (UTC)


:::::This could potentially happen (even and especially to the smaller periods) if we include Larger than Life rules in the list. Are you sure you want to keep multiple periods grouped on the same page? - [[User:AwesoMan3000|AwesoMan3000]] ([[User talk:AwesoMan3000|talk]]) 20:36, 23 August 2017 (UTC)
: The problem of deciding what to do about glider syntheses is still where it was in January. I'm still leaning toward leaving things pretty much as they are until Mark Niemiec's new synthesis database becomes available, and then figuring out how to link directly to the relevant Niemiec synthesis page, for any object that has a LifeWiki article -- and removing those _synth files from the Patterns folder. Most of the Niemiec-derived _synth files that have been uploaded will probably be subtly out of date when the new version comes out. Anyone have any better ideas?


== Newer DYK items ==
: In other news, [[User:Dvgrn/Plaintext_files]] documents the 695 new plaintext-format .cells files that are available on the server now. This means that a lot of articles' infoboxes could now be updated to say '''|plaintext        = true''' along with '''|rle              = true'''. If nobody wants to tackle making these several hundred edits manually, I might eventually look into setting up some kind of automated search-and-replace functionality, based on this kind of article list. [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 22:45, 17 February 2019 (UTC)


There's been an influx of [[LifeWiki:Did you know archive|DYK items]] recently. I've not updated the count on the Main Page in a while, primarily because I'm not convinced they all belong on the list; I'd planned to simply postpone this for another while, but the question was raised [http://www.conwaylife.com/forums/viewtopic.php?f=3&t=3040&start=0&p=49733&view=show#p49733 on the forums] earlier today, so here's my thoughts on the items not currently being shown (#92-100):
:: I noticed once again that there are quite a few patterns with capitalization in their names, most of which ([http://www.conwaylife.com/w/index.php?title=RLE:P52G3to4&action=history with a few exceptions]) were created by [[User:Entity Valkyrie]]. Even [[RLE:ModelD]] is still in that list despite having been deleted and moved over a week ago, so those should probably be fixed. Something more confusing, though, is that certain small patterns (such as [[44P14]] and [[44P12.3]]) were labeled as being too large despite easily fitting within the 64&times;100 limit. What's up with that?


:<nowiki>#92</nowiki> needs rewording; unless you already know what it's talking about, it really isn't very clear.
:: As for adding these to the infoboxes, I'll probably get to that eventually but I'm a bit too busy at the moment. [[User:Ian07|Ian07]] ([[User talk:Ian07|talk]]) 23:14, 17 February 2019 (UTC)
:<nowiki>#93</nowiki> is fine.
:<nowiki>#94</nowiki> is fine.
:<nowiki>#95</nowiki> ... I don't even know. Certainly not worth a DYK item on the Main Page, IMO.
:<nowiki>#96</nowiki> needs an article describing the open question it's talking about.
:<nowiki>#97</nowiki> is fine.
:<nowiki>#98</nowiki> is fine.
:<nowiki>#99</nowiki> is fine. (But let us stop here and not fill half the list of DYK items with still life counts.)
:<nowiki>#100</nowiki> is definitely NOT fine with the [[Bugs]] article being in the state it's currently in. ([[User:AwesoMan3000]]: you started it, you finish it.)  


Also, re: #92 and #100, the LifeWiki (and by extension the DYK section) is primarily about Conway Life. General information relating to other classes of CAs is fine (such as #93), but I'm on the fence about adding DYK items on specific patterns/pattern families in other CAs. Where would we stop?
::: Many thanks for the review. I believe I've patched all the remaining instances of pnames with capital letters: 68p16.cells/.rle, 76p8.cells/.rle, 113p18.cells/.rle, 209p8.cells/.rle, p130shuttle2.cells/.rle, l156reactions.rle, p24lwss.rle, and p52g3to4.rle.  Obviously in the future the auto-upload script should check for capital letters and complain.


That's just MY two bits, of course. Thoughts? [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 20:34, 23 August 2017 (UTC)
::: I haven't yet looked into why a few small patterns didn't get .cells files created properly. Will figure it out and fix that bug along with adding the capitalization check. That one isn't too worrisome -- anything that got missed in the first round we should be able to pick up on the next auto-upload. [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 19:54, 18 February 2019 (UTC)


: This matches my sense of the intended purpose of the LifeWiki.  It makes a lot of sense to -- for example -- list Life-like and isotropic rule strings and aliases on a user page somewhere, because that's a good place for people from the forums to do collaborative editing.  And for some specific rules like HighLife, which have old and deep connections to the Lifenthusiast community, it certainly doesn't hurt to have a page up on LifeWiki -- especially since you could say that it's doing a kind of compare-and-contrast, referring back to B3/S23 Life.
== The list(s) of rules investigated on Catagolue ==


: However, this is definitely the LifeWiki, not the CAWiki.  If someone wants to host a CAWiki somewhere else, that's certainly fine, but I'd rather not see just rare occasional miscellaneous non-B3/S23 CA items scattered randomly through all of the existing detailed B3/S23 content. It seems like this is a problem not just for the Did You Knows, but for regular articles as well. Suppose you read under "Spaceship" that the maximum possible orthogonal speed is c/2, but then you go to the spaceships list and find a link to a lightspeed photon, and maybe another link to a 50c Larger Than Life spaceship.
Short version: these have increasingly become a burden to maintain on-wiki, and with Catagolue now having [https://catagolue.appspot.com/rules its own endpoint] providing an overview over and an exhaustive list of all rules searched, they're largely irrelevant now. (The on-wiki list was only started because Catagolue didn't provide one at the time.)


: -- That seems like it's just plain going to be too confusing... and it will get more confusing as more non-B3/S23 articles and definitions are added.  Can we please just not go there?  User namespaces seem like a fine place to keep general CA content.  [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 00:19, 24 August 2017 (UTC)
So I'm giving up maintainership of these. If anyone wants to take over, please do! [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 17:00, 7 January 2019 (UTC)
:: Also I personally think we should mercilessly kill off most of the still-life-count Did You Knows, just as soon as we have more interesting trivia items to replace them with. [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 00:22, 24 August 2017 (UTC)


:::That's probably sensible. They were interesting right after being computed, but they have not aged well, as it were.
: If we are to retire the [[List of rules investigated on Catagolue]], how should we do this? Add a notice at the top saying:


:::I've gone ahead and edited, deleted, and rearranged items as necessary, so right now the list (down to 92 items) looks OK to me. I've updated the DYK count on the Main Page, too.
: "This page is no longer actively maintained in favour of the [https://catagolue.appspot.com/rules equivalent Catagolue page]."


:::More DYK items would be cool to have of course, so long as they're a) related to Conway Life and b) sufficiently interesting. Perhaps in the future, instead of just adding them right away, we should instead post them here on the Tiki bar for discussion first, to see what others think? [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 10:21, 25 August 2017 (UTC)
: or words to that effect?


== Changing protection levels ==
: It still might be a good idea to actually keep the information in the LifeWiki, because Catagolue occasionally has outages when the daily quota has been exceeded, whereas conwaylife.com tends to be permanently accessible. [[User:Calcyman|Calcyman]] ([[User talk:Calcyman|talk]]) 18:26, 7 January 2019 (UTC)


I've just changed the protection level on a number of pages, usually down from semi-protected (or, sometimes, fully protected) to unprotected. I should've perhaps discussed this here ''beforehand'' instead of afterward, but I tend to shoot from the hip. ;) However, I'd like to provide some reasons for this. The biggest and most important one is:
:: The wiki page does have some advantages over the Catagolue one, such as listing the rule integers for outer-totalistic rules and being easier to edit (e.g. adding names for new rules). [[User:77topaz|77topaz]] ([[User talk:77topaz|talk]]) 23:51, 7 January 2019 (UTC)


# '''Lack of necessity'''. LifeWiki editing, these days, is already limited to trusted users who have to be approved by hand. Semi-protection, in particular, is pretty much entirely irrelevant as a result, and full protection isn't necessary either, at least where it's intended to protect against vandalism and other bad-faith edits.
== Time for a consensus decision on pnames? ==
#* Protection can also protect against innocent mistakes made by inexperienced editors, but I don't think we currently have anyone who's both a) very inexperienced (in particular, so inexperienced they do not know how to revert their own edits), and b) prone to editing complex templates etc.


There are other reasons:
I've run the RLE-scraper script to collect new RLE files for a bulk upload. The script found 321 new RLE files. Before I send them to Nathaniel, it looks like I'll be doing some more standardization, especially involving pnames.


# '''Consistency'''. In a lot of cases, protection was not applied consistently, e.g. to pattern templates, pattern categories and so on; these would sometimes be semi-protected, sometimes fully protected, and sometimes not protected at all. It would have  been possible to apply semi- or full protection to all of them instead of unprotecting them, but the other reasons listed here made me prefer unprotection them.
The [[LifeWiki:Pattern_pages|guidelines for creating pnames]] say very clearly:
# '''Ineffectiveness'''. This is a fairly big one, I think. The LifeWiki uses a lot of templates, e.g. for pattern categories. Without either protection on these templates, or cascading protection enabled on the transcluding categories, these categories could still be changed by editing these templates.
<pre>pname (required) The name of the pattern being described, but converted to lowercase and with all non-alphanumeric characters and spaces removed.</pre>
#* It would of course have been possible to instead protect all templates and categories, but see the next point.
# '''Maintainability''' (content). Although many categories etc. (e.g. [[:Category:Oscillators with volatility 0.55]]) may not have to change, we may well want to change e.g. the navbox used on that category in the future (say, to add new subcategories or related articles), and this shouldn't require an admin bit to do.
# '''Maintainability''' (infrastructure). As noted above, there wasn't a whole lot of consistency with regard to which templates/categories/articles were or weren't protected, and to which extent. Settling on semi-protection or full protection now would've fixed the lack of consistency for the moment, but would've required ongoing admin work to keep everything consistent.


(There may be other reasons that aren't on my mind right now.) All things considered I thought it was best to unprotect most of the (semi-)protected pages. Note that that's ''MOST'' &mdash; the [[Main Page]] is still protected of course, as are any pages it transcludes, a few guidelines, the ToS, some deep infrastructure templates that should never, ever change ([[Template:!]] and friends), and a few others I didn't feel 100% comfortable unprotecting right now. See [[Special:ProtectedPages]] for an overview of what's currently still protected. [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 13:12, 27 August 2017 (UTC)
This has worked fine for us for the great majority of cases, but there are two related cases where blindly following that rule creates not-very-good pnames:


== Strict volatility ==
# '''apgcode-based names''', where removing the underscore can sometimes concatenate two strings of digits. For example, according to the rule, [[Xs15_3lkia4z32]] is theoretically supposed to have a pname of "xs153lkia4z32", which reads as if it's a 153-bit still life.  Underscores are confusing in article names because MediaWiki turns right around and renders the name without an underscore. But they do seem to work fine, and they're necessary in other article names, anyway -- raw RLE "pname_synth" synthesis files need them.
# '''patterns named after a Niemiec or pentadecathlon.com ID''', where removing a period causes similar problems with readability.  Examples:
* [[37P7.1]], created by Sokwe in 2009 with a pname of "37p7.1" -- including the period. Another similar case is [http://conwaylife.com/w/index.php?title=37P10.1&diff=13437&oldid=13432 37P10.1], where Sokwe changed the pname from Nathaniel's original "37p101" to "37p10.1", back in 2010.


[[Template:Oscillator]] now supports an <tt>sv=</tt> parameter for an oscillator's [[strict volatility]] (i.e. the share of cells oscillating at the full period).
* [[38P11.1]], with a pname of "38p111". Periods in filenames are definitely annoying because the part after the period can look like a file extension... but I think "38p11.1" would really be better here.


This is set automatically for all oscillators of prime period. (Prime periods are checked using [[Template:isPrime]], which currently only goes up to 1000, but we don't have articles on oscillators with higher periods than that anyway.) For other oscillators it should be specified manually, and I've done this for every oscillator entry we currenlty have. When creating a new article, editors can use e.g. [[Oscillizer]]:
* Several patterns with pnames created by Entity Valkyrie recently: 14p2.1, 14p2.3, 14p2.4, 28p7.3, 28p7.3bumperbouncer, 28p7.3eatingss, 31.4, 33p3.1, 33p3.1bumper, 33p3.1eatingss, 33p3.1reactions, 34P6.1.


:[[File:Oscillizer pseudobarberpoleonrattlesnake.png]]
====Capitalization Bad====
The last pname in that list is also nonstandard due to capitalization, but that's a separate problem. The full list of capitalized pnames is 35P12, 53P13, 55P10, 113P18, BF20H, BFx59Hinjector, FMHEB, Gtolwss.rle, L112functions, L156reactions, L156variants, L200, Lightspeedcrawler, P5HWV, P58toadflipper, PT8P, PT9B, PT38P -- again all by Entity Valkyrie, I think.  I'll definitely have to go through and fix all of these, just because they're dangerous to cross-platform uses of the pattern collection: "35P12.rle" will overwrite "35p12.rle" on a Windows operating system, but not on Linux.  And LifeViewer fails to find "RLE:35P12" when told given "pname = 35p12", because the LifeWiki's filesystem is case-sensitive.  So I think the no-capitalization part of the pname guidelines should continue to be very carefully enforced.


Just like regular volatility, this should be given as a regular fraction rather than a percentage, and rounded to two decimal digits, so "strict: 1.10%" would become <tt>|v=0.01</tt>. New categories should be created as needed, using [[Template:OscillatorStrictVolatility]] to fill in category pages as follows: <tt><nowiki>{{OscillatorStrictVolatility|sv=0.55}}</nowiki></tt>. The tracking category for oscillators with unknown (unspecified) strict volatility is [[:Category:Oscillators with unknown strict volatility]].
====Periods Not So Bad====
However, given the long precedent for pnames occasionally including periods, I'm not planning to change any of Entity Valkyrie's pnames if a period is the only non-standard part. Should probably do something about "31.4", but the rest seem okay.


One note: some oscillators have very small strict volatilities that would round to 0.00, but I thought it was important to only display strict volatility as zero if it really is ''exactly'' zero. I've therefore used three decimal digits (rounded, again) instead of two on those pages where using two would round to 0.00. If we want to stick to exactly two decimal digits we could instead round to 0.01 in those cases.
-- Anyone know where the ".4" comes from in "31.4", by the way?  The problem with calling the thing just plain "Snark catalyst" is that there are several workable Snark catalysts. 31.4 is one of the two most common ones, but it's not exactly "the" Snark catalyst.  But no other common name has caught on. ('''Bellman Zero''', anyone? '''Catalyst B0'''?  '''31.4''' seems better than either of those.)


(FWIW, although we have no entries on oscillators with a non-strict volatility below [[:Category:Oscillators with volatility 0.08|0.08]], how are we handling this for volatilities approaching one? Do we always round down for oscillators with non-empty stators, or do we not care about distinguishing true statorless oscillators from nearly statorless ones?) [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 16:53, 31 August 2017 (UTC)
====Summary questions====
TL;DR:  Does anyone object if I adjust the pname guidelines to say that periods are okay, but "only where necessary", or something along those lines?  And also say that underscores are okay only in apgcode pnames and raw-RLE _synth articles? Underscores are a minor nightmare, because MediaWiki automatically converts them into spaces, and pnames really aren't supposed to include spaces.  I'm reasonably sure that that underscore-to-space conversion is bound to cause coding difficulties somewhere sometime.  But unless someone wants to recommend consistently using periods in place of underscores in apgcode pnames, I just don't see any good alternative.


== Pentadecathlon IDs for strict still lifes ==
Comments, suggestions, disagreements? Please post 'em here! [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 17:56, 15 January 2019 (UTC)


All our [[:Category:Strict still lifes|strict still lifes]] now list Pentadecathlon IDs in their infoboxes, assuming of course they ''are'' in the pentadecathlon.com database. The relevant parameter, <tt>pentadecathlonid=</tt>, was introduced a while ago already, but not widely used until now.
: Also, not sure if anyone will find this note here, but gmc_nxtman's recent series of synthesis postings made for a good test case for reworking several pages recently updated by AwesoMan3000. It's been different changes for every article, but it tends to take a lot of fiddly adjustments to synchronize the pname, RLE, synthesis RLE, LifeViewer config, and any files already uploaded to the LifeWiki server.


Strict still lifes lacking this field are tracked in [[:Category:Still lifes with no Pentadecathlon ID]]. Right now, it contains the following nine entries, all of which are not present in the PD database:
: I've done half a dozen articles for starters:  [[very long snake]], [[trans-block on long hook]], [[integral with tub]], [[eater head siamese eater tail]], [[cis-block on long hook]], and [[aircraft carrier with feather]]. LifeViewer generally Just Works once there's a raw RLE article with the right pname, but the images come out too small by default, so I've been adding viewerconfig '''THUMBSIZE 2'''. This should probably be a default added to the template, with SUPPRESS, except I don't know if that will change the looks of a lot of existing articles).


* [[Cis-mirrored worm siamese cis-mirrored worm]]
: This leaves [[boat with long tail]], [[beehive with nine]], [[broken snake]], [[cis-boat with nine]], [[eater bridge eater]], [[long boat tie ship]], [[long shillelagh]], [[ortho-loaf on table]], [[snake siamese snake]], [[snake with feather]], [[snorkel loop]], [[trans-boat on table]], [[very long shillelagh]], and [[sesquihat]] that still need editing to add the latest syntheses. I could definitely use some help with updating these:
* [[Cloverleaf interchange]]
# decide whether the pname should change to match the article name
* [[Cthulhu]]
# new synthesis copied from '''Talk:{name}''' to '''RLE:{pname}_synth''', either updating or replacing any RLE that's currently there
* [[Eater 3]]
# fix "synthesis = {n}" in infobox
* [[Eater 4]]
# add to infobox: <pre>viewerconfig    = [[ THUMBSIZE 2 ]]</pre>
* [[House on house siamese table-on-table weld hat-siamese-hat]]
# remove Life1.05 and Life1.06 lines (optional)
* [[Omnibus with tubs]]
# double-check that article name matches article text and Catagolue link -- there's often something wrong there
* [[Professor]]
# add '''RLE:{pname}''' if it's not there already, to make LifeViewer show up instead of an old image file
* [[Very^9 long boat]]


Other objects also can and should receive Pentadecathlon IDs. (Anyone up for the task?)
: A couple other tasks are admin-only --
# If pname has been changed, delete {old pname}*.rle from LifeWiki server to keep things in synch
# If Life1.05 and Life1.06 lines have been removed, delete corresponding files from server. (I'm leaving the "plaintext" (.cells) links, because I'm hoping to generate those automatically for all sub-64x64 patterns currently on the LifeWiki.)
# When a good break point is reached, re-run the auto-upload script and collect all the new pattern and synthesis RLE text into a ZIP file for bulk upload.


There is an implicit assumption in all this that the IDs given on PD are stable. They should be for still lifes up to 24 bits, which are completely enumerated on the site, but Heinrich's [http://www.pentadecathlon.com/objects/definitions/definitions.php Definitions] page, which talks about creating sorted lists of objects, has me wondering if larger objects might end up getting renumbered when -- if -- the site's DB ever gets updated with the exhaustive lists of still lifes up to 32 bits computed by Simon Ekström, Nathaniel Johnston and me. The LifeWiki doesn't have too many articles on larger still lifes however (...yet!), so in the event that this should happen these could easily be updated.
: Here again, I'm leaving some broken links to pattern or synth files, which I'm planning to fix fairly soon (by putting the files back in place using the auto-upload script).


The <tt>pentadecathlonid=</tt> parameter is also used to link to PD's object synthesis pages, so as a side effect a lot more information re: using objects as sources for/results of reactions is now readily accessible from the LifeWiki. Linking to Mark Niemiec's DB remains an open question; the [http://conwaylife.com/ref/mniemiec/lifesrch.htm Life Search] page works locally using Javascript. (Any ideas on how we could tackle this?) [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 14:53, 20 September 2017 (UTC)
: This is the kind of project where I'm very unlikely to get everything exactly right. Independent reviews of all this stuff will be greatly appreciated, and just let me know what I've done wrong so far. [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 12:33, 21 January 2019 (UTC)


== "Forum Username" on "Person" Template? ==
==Special pages broken?==
I have noticed several oddities in a few of the maintenance pages:
* [[Special:BrokenRedirects|Broken redirects]] claims there is an existing page named [[RLE:lobster]] that redirects to a non-existent page named [[RLE:83p7h1v1]], when the opposite is actually true.
* [[RLE:Loafer]] is listed in various places (such as [[Special:ShortPages|Short pages]]) despite being in the wrong namespace.
* [[ConwayLife.com:About]] is listed as in [[Special:DoubleRedirects|Double redirects]] despite not having any redirects.
* [[Special:FewestRevisions|Pages with the fewest revisions]] isn't even close to being correct.
* [[Special:UncategorizedPages|Uncategorized pages]] is quite incomplete; I noticed the articles [[Ruler]] and [[Alternating rule]] were not listed even before I added categories to them, and these are almost certainly not the only examples.


What about a "forum username" section on the person template? Maybe there could be a "Identifiers" dropdown? So [[Dave Greene]];s would be "dvgrn" and so on. {{Unsigned|Saka}}
Anyone know what's up with these? [[User:Ian07|Ian07]] ([[User talk:Ian07|talk]]) 23:35, 15 January 2019 (UTC)


:This would be possible, sure, but: why? [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 21:45, 9 November 2017 (UTC)
==Rulespace info for eaters, reflectors, conduits, etc.==
So lately I've been busy adding isorule parameters to the infoboxes for various patterns. So far I've stuck with oscillators, spaceships, still lifes, and infinite growth patterns, but I'd also like to expand this to other pattern such as conduits which are a bit more ambiguous. For example, the [[sidesnagger]] works in B/S23, but obviously there are no gliders for it to eat. I'm of the opinion that for these patterns we should show the rules they're actually ''useful'' in, since that's what makes them notable in the first place, (though with the possible exception of [[eater 1]] since it's such a small pattern) but I'd like to hear others' thoughts on this. [[User:Ian07|Ian07]] ([[User talk:Ian07|talk]]) 18:57, 19 January 2019 (UTC)


::Why not? This could be nice for beginners that want to see if they can talk with legendary GoLpeople&trade; [[User:Saka|Saka]] ([[User talk:Saka|talk]]) 12:49, 11 November 2017 (UTC)
: My main thought is that all but the very simplest and lowest-step-size conduits are very close to rule-specific -- useful only in B3/S23. Adding a B8 or an S8 might be one of the few isotropic bits where some conduits would survive the rule switch (?). Even if a particular conduit works in another rule, it's only interesting if a large enough group of conduits works in the alternate rule to make it computationally universal.  (That would probably make it construction-universal, too, but only after someone re-did all the single-channel search work to produce new recipe libraries.)


== LifeViewer inline patterns versus JavaRLE ==
: Anyway, from my point of view the reason why B38/S23 or B3/S238 doesn't get a lot of attention is that there's nothing really new and exciting about those rules to make up for the fact that the rule spec is just that little bit more complicated... pun maybe intended. [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 02:04, 20 January 2019 (UTC)


As discussed [http://www.conwaylife.com/forums/viewtopic.php?f=&p=53183#p53183 in a questions thread on the forums] -- do we know enough about LifeViewer, and is it stable enough for all users on all browsers as far as we know, that we should adjust the [http://www.conwaylife.com/wiki/LifeWiki:Pattern_pages Pattern Pages] howto and checklist to explain how to do inline RLE for secondary images in an article, without the nuisance of getting pattern files uploaded as a separate admin-only step?
==[[apgsearch]] and [[Catagolue]]==
Would anyone be opposed to a reorganization of the information on these two articles? I noticed that a lot of the information in the Catagolue article really applies more to apgsearch rather than the site itself, and therefore might be worth moving. Such a change would be particularly easy to revert if need be, but I'd rather not go through the effort if that's the case, so I'd also like some feedback about that. [[User:Ian07|Ian07]] ([[User talk:Ian07|talk]]) 23:32, 19 January 2019 (UTC)


More ambitious: might there be some clever way for non-admin users to contribute the baseline pname.rle and pname_synth.rle files directly, using a similarly easy inline-RLE method?  This is already possible by creating a raw RLE page for the pname pattern, but it doesn't work for pname_synth, does it?  Could those RLE chunks be hidden in the actual article text somewhere, in some standard location?
: No opposition here. I wouldn't think anyone would be likely to revert changes to those articles, just the usual quick review to see if the changes happen to serve as a reminder of anything else that should be added. [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 02:04, 20 January 2019 (UTC)


It still seems good to have copies of these patterns available in the downloadable ZIP file, though.  Does that mean we also need a mechanism to assign a pname to each LifeViewer inline pattern?  And then some (semi-automated?) way do the upload, and note in the article that that has been done.
== Help Wanted with templates and general review ==


A vaguely related note:  the pattern-file admin maintenance page is getting a little unwieldy as the number of patterns goes up -- it lists every pattern in one page, which is so long now that the load time is really noticeable sometimes, at least on my system[[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 15:27, 26 November 2017 (UTC)
Here are three problems that I'd like to fix. I could probably track down the necessary template changes myself, eventually, but I'd like to have expert advice if I can get itBoth of these items have been sorta kinda mentioned on the Tiki Bar before, fairly recently:


:You're right, pname_synth isn't currently recognized. This could be changed; all we'd need to do is update the pattern templates accordingly.
1. I think '''THUMBSIZE 2''' should be the default for all infobox LifeViewers.  I keep adding '''#C [​[ THUMBSIZE 2 ]]''' to get infobox pattern frames back to the right size.  There seem to be hundreds of these '''THUMBSIZE 2''' specifications by now, but looking through a bunch of new aircraft-carrier-themed still lifes that AwesoMan3000 added recently (see links a few paragraphs up)... those all need the same addition done to them, and there are dozens or hundreds more existing articles that still have the same problem.  The [http://lazyslug.no-ip.biz/lifeview/plugin/suppress.html '''SUPPRESS''' command] should follow '''THUMBSIZE 2''', so that the relatively few viewerconfigs that specify '''THUMBSIZE 3''' won't start throwing errors after the change is made.


:I'm not sure I'm a fan of putting the RLE into the article text proper. The most natural place for it would be an infobox parameter, but that might run into subtle parsing issues. For example, I'm not sure if this:
2. As of this morning, Nathaniel has officially removed the Life 1.05 and Life 1.06 patterns from the LifeWiki patterns directory. That means the infobox template probably ought to be adjusted to stop showing those links.  We could remove "'''|life105 = true // |life106 = true'''" from all the articles that have those infobox parameters instead, but only if someone wants to get a leg up on entry into the 10,000 Club.


::<tt><nowiki>{{Oscillator</nowiki></tt>
The Life 1.0x patterns are still on the server, but [http://conwaylife.com/patterns/lif_pattern_backup.zip hidden in a ZIP file]. It seems to me that going forward, the way to make patterns available in non-standard non-RLE formats will be to publish conversion scripts that work on the contents of all.zip.
::<tt><nowiki>|name  = Prancing Ponies</nowiki></tt>
::<tt><nowiki>|pname = prancingponies</nowiki></tt>
::<tt><nowiki>|p    = 49</nowiki></tt>
::<tt><nowiki>...</nowiki></tt>
::<tt><nowiki>|rle  =</nowiki></tt>
::<tt><nowiki>x = 20, y = 17, rule = B3/S23</nowiki></tt>
::<tt><nowiki>...</nowiki></tt>
::<tt><nowiki>|...   = ...</nowiki></tt>
::<tt><nowiki>}}</nowiki></tt>


:...would work, or whether it might break because there's equal signs in the value of the <tt>rle</tt> parameter. I ''think'' MediaWiki is smart enough to handle this these days, and a similar parameter to [[Template:EmbedViewer]] has not caused any trouble yet as far as I'm aware, but this sort of thing still makes me nervous. (The safe way of handling this would be to escape all equal signs in the value passed using an appropriate template, as <tt><nowiki>{{=}}</nowiki></tt>, but users ''will'' forget this, and if it then doesn't work they ''will'' not understand why.)
Anyway, there are some places in the infobox template documentation and other docs that mention Life 1.0x, which I can track down and fix eventually if no one else gets to it first.


:The above applies equally to the synthesis RLE, of course. On that note, having the synth RLE for <tt>pname</tt> live in <tt>RLE:pname_synth</tt> or <tt>Synth:pname</tt> or so would be saner. But it would make the RLE less accessible (though of course the pattern templates could also be rigged to check whether the RLE exists, and show a big red "click here to add the missing RLE" link if not.)
3. Let's get rid of that dependency where you have to have '''rle = true''' or '''nofile = true''' before LifeViewer will show up -- as per [http://www.conwaylife.com/forums/viewtopic.php?f=4&t=2298&p=68135#p68135 Nathaniel's recent advice]. [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 15:51, 25 January 2019 (UTC)


:As always, TIMTOWTDI (There Is More Than One Way To Do It)...
: Okay, Nathaniel has done a bulk upload of 387 RLE files, collected by the auto-upload script for every article in the main namespace that referenced a pname and had RLE:{pname} and/or RLE:{pname}_synth articles in the RLE: namespace. That means that as of today, there should no longer be any broken RLE pattern download links (the ones that show up when you say '''rle = true''' in the infobox).


:For secondary patterns currently using [[Template:JavaRLE]] I think migrating to an on-wiki solution is definitely sensible though. [[Template:EmbedViewer]] already exists and can be used (and [[Special:WhatLinksHere/Template:EmbedViewer|several pages are already using it]]), even if that template's still got room for improvement.
: There shouldn't be a lot of broken '''synthesisRLE = true''' links, either, but those might happen if somebody set that flag to true but then didn't create the RLE:{pname}_synth article.


:I do agree that the ZIP file containing all uploaded patterns is valuable and should be kept if at all possible. (Do we have statistics on how often that's downloaded, BTW?) As I said on the forums, generating it from on-wiki RLEs would just be a matter of adjusting the generator script, but someone's got to do it, and unless someone else has shell access to conwaylife.com's hosting, it'd probably have to be Nathaniel (who I understand is busy these days with rather more important matters).
: I'd suggest that people shouldn't go too wild uploading new glider syntheses, until the next version of Mark Niemiec's database comes out -- and maybe not even then. It would be nice to come up with direct dynamic links to synthesis patterns on Catagolue and/or in Mark's database, so that we don't always have slightly antiquated information copied from those places and uploaded to the LifeWiki pattern collection, where they're kind of hard to keep up to date.


:(Might be a good time to bring up (again?) an old idea of mine, namely that of a Conway Life Foundation that could take some of the responsibility and workload off of Nathaniel's shoulders. Hey, it's worked for N. J. A. Sloane and the OEIS, and Larry Wall and Perl, and Jimbo Wales and Wikipedia...) [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 21:29, 28 November 2017 (UTC)
: I guess the next item to tackle is automatic generation of the '''plaintext = true''' .cells files for every article about a pattern that's 64x64 or smaller (let's arbitrarily say). Does anyone have suggestions for other checks and auto-updates that the uploader script might be able to accomplish? [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 04:25, 27 January 2019 (UTC)


:: Just a note on the technical side of things -- an equals sign within a template parameter indeed won't cause any problems (as long as the parameters are named, as is the case in the pattern infobox templates). The only problem that might arise is if the RLE has vertical bars | in them, but I don't think there's any reason that should ever happen.
:: @Ian07:  Wow, that was a lot of fast Life 1.0x cleanup work. Thank you! I'll see if I can get a bulk upload done for .cells format soon, for all sufficiently small patterns (which is most of them). Then the LifeWiki will suddenly be following a standard policy on pattern formats, fairly universally across all articles. [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 20:49, 28 January 2019 (UTC)


:: I agree that RLE data should be separated from the main page data in some way, since it is somehow more important and/or should be more "static". We could keep using pattern files, but that has the not-admin-friendly downside. We could use the RLE namespace, which in my opinion isn't bad (maybe slightly clunky). Perhaps a more elegant alternative would be to use the new [https://www.mediawiki.org/wiki/Extension:Cargo Cargo extension] that has recently been made available for MediaWiki. I've tested it out on another wiki that I run, and it works pretty fantastically (though I'd have to update MediaWiki here to a more recent version before it'd work). It introduces a bit of server overhead, but not *too* much based on my testing with it. What it does is makes data entered into templates query-able across the wiki, so on any page of the wiki we could write code that looks something like <nowiki>{{GetRLE|Glider}}</nowiki>, and it would grab the RLE from the pattern template on the "Glider" page. [[User:Nathaniel|Nathaniel]] ([[User talk:Nathaniel|talk]]) 17:42, 1 December 2017 (UTC)
: I've just added THUMBSIZE 2 as a [[Template:LifeViewer config/default|default option for the viewers]] to save myself some trouble. As for item #3 in your list, the solution probably in [[Template:InfoboxStart]] though I'd rather leave that to someone more experienced with templates. [[User:Ian07|Ian07]] ([[User talk:Ian07|talk]]) 22:12, 13 February 2019 (UTC)


::: The Cargo extension looks interesting, but it's a couple of steps removed from what we can do today.  Maybe what we should do is to keep implementing Infobox patterns using uploaded pattern files or the RLE: namespace, whichever one we have -- but also document how to set up subsidiary patterns in an article using LifeViewer and inline RLE, since that's the only way that non-admin users can add such patterns without admin help.
== Replacing images with animated viewers ==
::: The inline LifeViewer method doesn't require the additional patterns to have their own unique pnames, but the docs should ask for one and give a standard way of recording the pname.
::: Whenever we come up with a better method, and hopefully while there's still only a manageable number of LifeViewer-with-inline-RLE patterns, we'd probably want to commit to an admin-led effort to convert all trial-format pages to the new long-term format.
::: That seems like one possible way to keep moving forward in smallish steps, while also avoiding the current problem of confused and mystified potential contributors.  Thoughts? [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 18:39, 1 December 2017 (UTC)


:::: Sorry for the late reply... I agree with Dvgrn, Cargo looks neat, but I'm not convinced it'll help us here. For making it easier for non-admins to contribute/edit RLE files I still think the best current way to do this is to either:
I just started on a project to add more animated viewers in place of static images on the wiki. However, I've already started running into some problems, particularly with the [[pushalong]]s in the [[114P6H1V0]] article. I already created an [[RLE:114p6h1v0pushalong]], but I'm not sure how exactly the comments in the '''RLE:pname''' page get translated to the actual files, especially since files like [http://www.conwaylife.com/patterns/block.rle <tt>block.rle</tt>] have comments that aren't in the RLE namespace. I'm worried that I'll unintentionally remove said information from the wiki's pattern collection if I'm not careful.


::::* keep RLE in wiki pages, in the existing RLE namespace or a new one (say "RLE synth"); or
I'm thinking it might be better for now to just focus on the infobox images and not worry about the rest of the article, especially considering the images in the article have colors and arrows and other things which might be lost with an animated viewer. I'd be perfectly fine with [[RLE:114p6h1v0pushalong]] being deleted for the time being so it doesn't replace [http://www.conwaylife.com/patterns/114p6h1v0pushalong.rle <tt>114p6h1v0pushalong.rle</tt>] in the next bulk upload.
::::* use regular on-wiki file uploads for RLE files. I've never tried this, but the File: namespace isn't just for images, so I'm sure it could be made to work.


:::: [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 22:02, 9 December 2017 (UTC)
Even then, though, as with the [[Block]] example above, there's still comments in the original files that may or may not be overwritten since I don't know how bulk uploads work. I'd basically just like to know what precautions to take to make sure I don't break anything with this project before I proceed. [[User:Ian07|Ian07]] ([[User talk:Ian07|talk]]) 16:06, 2 February 2019 (UTC)
:::::Is it time to make an executive decision about supporting <tt>RLE:pname_synth</tt> or <tt>Synth:pname</tt>, with the infobox template rigged to add a raw-RLE link if that page exists?  Either option seems fine to me.
:::::This evening I'm feeling brave enough to start editing the Help: files to tell J. Random User step-by-step how to add patterns for use with LifeViewer.  That means deciding what to say about including/not including RLE header lines, comments, etc. The possibility of adding _synth files this way seems like a minor remaining question mark.
:::::Eventually I think all these added patterns in the RLE: namespace should be automatically vacuumed up somehow and added to the pattern collection -- presumably with some kind of comparison tool to make sure that patterns already in the collection are the same as the versions in the RLE: namespace.  (Will work on building that tool later.) [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 22:04, 21 February 2018 (UTC)


::::::Yes, let's [http://i.pinimg.com/originals/86/76/ad/8676ad94c53937330a085a7d0a9bc13a.jpg Make It So]! And automatically copying on-wiki RLE into the pattern collection? Yes, ''please''.
: All good questions.  The main answer is that the auto-upload script is designed so that it never overwrites any files that are already on the LifeWiki server, so you don't have to worry about overwriting anything.  Comments in block.rle are safe, and the addition of [[RLE:114p6h1v0pushalong]] won't damage the existing uploaded file on the server.


::::::Still not sure whether <tt>RLE:pname_synth</tt> or <tt>Synth:pname</tt> would be the better choice; I'm actually leaning toward the former right now. It'll make the script that little bit less complicated; it fits our existing naming scheme for pattern files, images, etc.; and it won't require a new namespace to be configured. (Of course you can create prefixed pages without a namespace as well, with the prefix just being part of the regular title, but that interacts badly with things like [[Special:RandomPage]]; and moving pages over ''after'' a new namespace has been created... well, there's still at least ghost <tt>RLE:</tt> page lingering in the Main namespace right now that is being shadowed by an <tt>RLE:</tt> namespace counterpart.) So yeah, leaning towards <tt>RLE:pname_synth</tt> right now.
: Now, if we deleted 114p6h1v0pushalong.rle from the server, and added these two comment lines at the top of [[RLE:114p6h1v0pushalong]] --


::::::As for what should be included in RLE snippets, I think ideally it should be this, at least:
<pre>#O Hartmut Holzwart
#C A pushalong for the c/6 orthogonal period 6 spaceship 114P6H1V0.</pre>


  #N Pattern name
: - then the auto-upload script would regenerate a fairly close copy of the file that we deleted. The #N line would be a little different since the default is now {pname}.rle, and the script produces two URL lines instead of just one: a link to the article followed by a direct link to the (future location of the) file itself on the LifeWiki server.
#O Discoverer
#C One-line description
  #C Wiki-page link
(actual pattern)


::::::We probably can't reasonably expect random users to adhere to that, always --- but guidelines are good having, and if it's on-wiki it's easy to edit.
: So far I've always looked through the RLE files produced by the script, and hand-edited anything that didn't come out quite right -- order of comment lines, etc.  That's probably a tradition that I'll continue, so that's another line of defense against accidental damage.  With any luck the next run won't be quite so much work, as long as no one goes back to uploading new headerless RLE or other nonstandard stuff that the script doesn't know how to clean up.


::::::The only issue I can see right now is conflicts. Suppose you have an RLE file, and an on-wiki RLE snippet, and they're not the same. How do you tell whether a) the RLE file was uploaded by an admin (and should thus presumably ''not'' be overwritten), and b) the RLE file was generated from an earlier revision of wiki page, and thus ''should'' be overwritten?
: See also [[User_talk:AwesoMan3000#Standardization_of_comment_lines]] for a summary of what should, or could, still be included in comment lines, versus what is auto-generated.  Maybe after that summary gets a good trial run, I can migrate it into the actual documentation. It will be strange and wonderful for a new LifeWiki editor to actually have a reasonable way to learn how to add new articles with associated LifeViewer-displayed patterns... the docs have been partly stuck in 2009 ever since, well, 2009 I suppose! [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 04:07, 3 February 2019 (UTC)


::::::One way around this would be to put a suffix on the files generated from on-wiki RLE snippets, so that e.g. <tt>RLE:ponyexpress</tt> would become <tt>ponyexpress_wiki.rle</tt>, or some such thing. Conflicts could then be handled by simply ''assuming'' that any file whose name is suffixed <tt>_wiki</tt> was imported from the wiki and is fair game for being overwritten (and if it was not, then the uploading admin only has themselves to blame). But is this ideal?
:: One more detail that isn't clear from the above:


::::::Flagging files externally would also be possible, but the flags should be visible on the mod panel in some way, and they should reset if a file is manually uploaded there.
:: The auto-upload script will automatically generate a slightly nonstandard #O line including both the discoverer and the discoveryear from the infobox -- like


::::::Alternatively we could declare this to be a non-issue and say "the wiki takes precedence, period". This would be the way to go if we want to deprecate the mod panel in the long term. If we did this, of course, we (and by "we" I mean you, heh) should audit the uploaded RLE snippets we've got to make sure we'd not be overwriting any existing RLE files with inferior content. (Comparing conflicting files to see which ones are actually different could also be done programmatically, of course.)
<pre>#O Paul Tooke, 2008</pre>


::::::But that's enough rambling from me! [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 09:08, 22 February 2018 (UTC)
:: for the 114p6h1v0 article.  But that only works for patterns that have infoboxes.  Other patterns may also have pnames, but only show up in embedded viewers in some other article. In those cases the script can't be sure that the discoverer or discoveryear will be correct, so it will just leave that optional line out.
:::::::Sounds good -- RLE:pname_synth it is, then. I'll see if I can dig up a sample or two to add on-wiki, with a suitably modified header:


#N pname_synth
:: Theoretically we could invent some standard way to include attributes in an embedded viewer template to convey that information. But since those attributes aren't actually used by LifeViewer it seems just as easy to make a habit of adding a comment line to the RLE.
#O Discoverer, optional date (?)
#C Description -- can be one or multiple lines
#C Wiki-page link
#C http://www.conwaylife.com/patterns/{pname_synth}.rle
{actual pattern}
#C LifeViewer config


:::::::I like having the date, if it can be collected, but there's never been a really good place to put it.  It sort of ought to have its own tag, like #D {date}, but #D traditionally meant something else in old Life32 files, and it's a little awkward having it take up its own line anyway, so I usually just put it in the description.
:: For example, adding "#O Hartmut Holzwart, May 2009" to [[RLE:114p6h1v0pushalong]] would convey slightly more information (month as well as year) than the auto-upload script manages to collect for main-article patterns. [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 04:19, 3 February 2019 (UTC)
:::::::It's also nice to have the direct link to the actual pattern file, when that exists.  That might cause headaches because it '''won't''' exist until the hypothetical periodic upload happens, and then it will exist.  So probably both the wiki-page link line and the pattern link line really ought to be added programmatically, to signal that the upload has happened.  I think I have the tools to do that, but it's a bit ugly -- will experiment and (eventually) report back.
:::::::Another awkwardness is the question of whether or not to include a LifeViewer config line, when ''that'' exists, in the uploaded RLE pattern.  This is looking forward a little, but I'd like to programmatically grab that and throw it in also.  Mostly this is because lifeviewer.lua is a thing, and it may eventually allow LifeViewer-like displays in Golly if the config line has been carried over.  Just tried it on-wiki and it's a bad idea to have it in the RLE: namespace due to conflict error messages.
:::::::Next question:  we have [http://conwaylife.com/wiki/Category:Pages_with_raw_RLE_code_but_no_uploaded_pattern_files Category:Pages_with_raw_RLE_code_but_no_uploaded_pattern_files] and [http://conwaylife.com/wiki/Category:Patterns_with_RLE_snippets_but_no_LifeViewer_configuration Category:Patterns_with_RLE_snippets_but_no_LifeViewer_configuration], but that only applies to articles with an associated primary pattern, not articles with one or more subsidiary LifeViewer illustrations.  What's the best way to get a link list for everything in the RLE: namespace? [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 11:46, 22 February 2018 (UTC)


::::::::Looks good! I just realized that due to MediaWiki's underscore conversion, <tt>RLE:${pname}_synth</tt> will become (i.e. look like <tt>RLE:${pname} synth</tt>). I don't know what title MediaWiki saves the page under internally, so it may be a good idea to code conservatively and convert spaces to underscores.
::: Just looked over the first batch of patterns added to the RLE namespace for the convert-static-images-to-LifeViewer project. Everything looks pretty workable. I think I'll adjust the auto-upload script to skip the generation of an #O line if there's one in the RLE already. Usually what's in the RLE will be a more specific date than what the script can produce from the discoveryear parameter.


::::::::Re: dates: what does <tt>#D</tt> traditionally mean, then? BTW, we might be able to use <tt>#T</tt> (for "timestamp") or so instead.
::: Maybe I should change the script to find the "name" parameter if there is one, and use that instead of '''{pname}.rle''' in the #N line?  It's kind of weird having ".rle" as part of the defined name.  The problem is, there isn't a '''name=''' line in embedded viewers, but there is a '''pname=''' line, and I wanted some information in that first line that could be collected consistently. (?)


::::::::LifeViewer-config embedded in the RLE file itself, that's certainly doable; if this is done we may eventually want to remove the relevant infobox parameter, it shouldn't be needed anymore then. (The "default configs" could then also go, in a second step.)
::: The only other thing I noticed offhand is that a few RLE files ended up getting comment lines with links: for example, [[RLE:151p3h1v0]] has


::::::::Re: pattern file links not being "live" until files are uploaded: as you say, this should be fine if those links are added (and the files uploaded) programmatically. Perhaps the script could also update the on-wiki pattern file?
<pre>#C http://www.conwaylife.com/wiki/index.php?title=233P3H1V0</pre>


::::::::Getting a list of all <tt>RLE:</tt> pages -- you can do that on-wiki using [[Special:AllPages]], specifically [[Special:AllPages/RLE:]] ([http://conwaylife.com/w/index.php?title=Special%3AAllPages&from=&to=&namespace=3792 here's a better link]). From a script, you're probably better off using the [https://www.mediawiki.org/wiki/API:Main_page MediaWiki API]. I've no experience with this, but the [https://www.mediawiki.org/wiki/API:Allpages <tt>allpages</tt> query] looks promising (you can pass a parameter indicating which namespace you're interested in).
::: There's a shorter form that works just as well:


==Deleting superseded oscillators==
<pre>http://www.conwaylife.com/wiki/233P3H1V0</pre>


[[User:Sokwe|Sokwe]] recently [[:Category:Proposed deletion|proposed]] a few oscillators for deletion that used to be (?) the smallest of their period but aren't anymore: [[114P84]], [[122P80.1]], [[126P78.1]], and [[Twin bees shuttles hassling blinker]].
::: But really I don't think there's any need to add article or pattern links to the RLE namespace.  They'll get generated and added automatically by the auto-upload script.  If you're actually looking at an RLE file in the RLE namespace, and wondering which article it goes with, then it's pretty quick to click the "What links here" link in the sidebar to find that out, instead of copying and pasting part of a comment line.


I think we should keep these, myself. I wouldn't encourage people to ''create'' pages on oscillators such as these, but OTOH once they exist I see no harm in ''keeping'' them. They're on-topic for the LifeWiki, and the amount of DB space they take up is negligible. (Not to mention that deleting an article doesn't free up the DB space it takes up anyway; MediaWiki keeps it around behind the scenes to allow undeletion.)
::: Based on experience so far, does there seem to be anything else that really ought to be adjusted for this whole conversion / auto-upload process? [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 22:54, 3 February 2019 (UTC)


How do others feel about this?
::: Oh, one more minor thing:  looking at LifeWiki articles with lots of LifeViewers on them, I'm starting to think that there might be such a thing as too much animation sometimes. If the infobox has an animated spaceship or oscillator in it, it might make sense to leave out AUTOSTART on (some?) embedded viewers in the actual article.  It can be nice to have something on the page that ''isn't'' moving -- or to be able to open in LifeViewer and step through a pattern one tick at a time, without having to disable AUTOSTART first. [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 23:12, 3 February 2019 (UTC)


(As usual, I'd also propose that since these are good faith, prima facie useful articles, they be moved out of the main article namespace to subpages of their creators' userpages, rather than deleted outright.)  
:::: I haven't had any other problems so far, though of course I've only just started this project and have only gotten through around 1% of all the articles. As for the comment lines in RLEs, I'll try and be more consistent with them from here on out. (will double-check the ones I've already made to see if there's anything that should be added or removed) And yeah, I do agree that too many auto-started viewers looks very cluttered, so here's a rule of thumb I'm probably going to use: there should be no more than three AUTOSTART viewers in close proximity to each other. Thoughts? [[User:Ian07|Ian07]] ([[User talk:Ian07|talk]]) 23:50, 3 February 2019 (UTC)


[[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 18:44, 21 December 2017 (UTC)
::::: Fine by me.  I've been thinking two animated viewers at once is usually enough action, but it depends on the article. Just maybe something to keep in mind a little bit. [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 01:33, 4 February 2019 (UTC)

Revision as of 19:54, 18 February 2019

Taka Tiki Break

Welcome, one and all, to the Tiki bar! This page is used to discuss the technical issues, policies, and operations of the LifeWiki. Or just sit down, relax, and enjoy a cocktail.

Welcome to the Tiki bar

Wikipedia has the Village pump, Wiktionary has the Beer parlour, but the LifeWiki's lacked a central page for discussion so far other than User talk:Nathaniel. So I took the liberty to create the Tiki bar to facilitate discussion in a friendly and relaxed atmosphere. Welcome! Apple Bottom (talk) 11:09, 13 June 2016 (UTC)

Archived discussions

Note: active discussions are never archived while still active.

Conduits and converters

I'm gradually gathering the necessary courage to tackle the new Life Lexicon items that start with "P". Looks like one of the big things I should do is to carefully figure out how to make proper use of Template:Reflector, but in this modern LifeViewer age I don't think I agree with the part about "The image in this infobox should NOT include the glider that is to be reflected...".

Seems to me these template recommendations should be updated to say something like "The image in this infobox should include the glider that is to be reflected -- optionally, two input gliders separated by the mechanism's minimum recovery time, and an output glider if that allows a smoother animation. However, the bounding box and population count should be calculated with these gliders removed."

It would actually be pretty annoying to provide RLE of a reflector and not at least show where the input is supposed to go. When copying and pasting one of these to use in a larger construction, it's usually pretty handy to have some kind of marker for where the the input goes and where the output comes from -- thus the ghost Herschels in recently added Herschel conduits.

[Ideally the marks are state-4 LifeHistory so you don't have to edit them out after pasting -- but we should probably stick with simple 2-state Life patterns on the LifeWiki and not open the LifeHistory can of worms.]

... And we can probably get rid of Template:Reflector/Doc while we're at it, no?

Before I start this I'll definitely undertake to review all the existing converters and reflectors and conduits -- there are a bunch with raw RLE and/or uploaded pattern files missing. That's relatively easy to fix, once we have an official decision about whether and how to show inputs and outputs. I'm currently puzzled by the mysterious Template:ConduitInput and Template:ConverterInputOutput. Not that that's surprising -- I'm easily confused by all this wiki template trickery. Dvgrn (talk) 15:26, 8 May 2018 (UTC)

I agree that reflector patterns should include the input glider. I'm the one who originally wrote that they shouldn't, and I'm not really sure why anymore. It can't have been very good reasoning, because I completely disagree with it now.
~Sokwe 07:08, 9 May 2018 (UTC)
Template:Reflector/Doc also asks users not to put animated images on pages, instead suggesting that one should "consider using a static image of the reflector with a caption that links to the animation". I think this does not match the general current LifeWiki practice regarding animated images, or generally animated content. Should we reconsider? Apple Bottom (talk) 05:25, 7 June 2018 (UTC)
It does seem to me that we have a developing consensus that LifeViewer-based illustrations are a good way to go. There are quite a few Help documents and templates that were written long before the advent of LifeViewer. I'd love to have the Help actually explain to a new user how exactly to add RLE to the RLE namespace, how to get that RLE to show up in an infobox or an embedded viewer, how to adjust the LifeViewer config so that animations (if any) look good, etc. It will take a while to get all the docs updated, no doubt. My edit yesterday was just a first attempt to start chipping away at the problem. Dvgrn (talk) 14:48, 7 June 2018 (UTC)
Definitely agree! Unfortunately writing documentation is one of things I'm hopelessly.. well, hopeless at. ;) Apple Bottom (talk) 10:33, 9 June 2018 (UTC)

Lexicon tags

Many of our articles (glossary, in particular) are based on, or at least synced with, Life Lexicon content. This creates a need to update these articles when the Lexicon changes.

Some of that has been handled in an ad-hoc manner on my userpage, but the process is fairly involved: look at the project page, find an article to work on, make sure it needs to be worked on, make the necessary edits, make the necessary changes to the project page to reflect the fact you edited the article.

It's also not easily found by newcomers who may want to help out. (OK, I'll admit, there likely aren't droves of eager newcomers to begin with, but that nonwithstanding, if you don't know said page exists you're not going to find it easily.)

So I was thinking, can't we improve on this? And I just had the idea of tagging articles themselves instead, indicating which version of the Lexicon they correspond to.

The Nethack wiki does something similar; for instance, take a look at their Foodless article, and you'll find that it has an indicator at the top right saying that the page reflects Nethack 3.4.3 (rather than the current 3.6.1), generated by this template.

We could use something similar. There wouldn't necessarily have to be a visible indicator (though there could be); at the very least, though, pages could be tracked in appropriate categories, and we'd know at a glance what needs to be updated (or at least reviewed) and what's current.

This way, all edits would be in one place: review an article and make edits as necessary, and also update the tag to indicate it now reflects a newer Lexicon version. And placing those tracking categories into an appropriate supercategory and placing that in the existing category tree in turn would allow editors interested in helping out find articles in need of review.

There would be two downsides. a) most of the Lexicon doesn't change in each Lexicon release, so we'd have a lot of articles tagged as (say) reflecting v28 when in fact they're also current, by virtue of not having changed since v28. And b) we wouldn't easily be able to see which articles are missing from the wiki entirely.

I still feel that this would be an improvement though, and there's no reason we couldn't combine these tags with a manually-curated project page to get the best of both worlds.

Also, re: downside a) specifically, I think this could be dealt with by also having an indicator on the wiki saying which Lexicon release is current; pages that haven't been tagged as reflecting the current version would then display a gentle, unobtrusive note, and anyone viewing such a page could quickly check that it does indeed match the current Lexicon release, and update the tag if so.

Thoughts? Apple Bottom (talk) 07:49, 18 July 2018 (UTC)

This seems like a fine idea to me. As far as downside a) goes, I think that the last year of Life Lexicon updates is highly unusual, since it involved catching up after over a decade of no maintenance at all.
The standard editing methodology for new Lexicon releases is to maintain a Changes section at the top of the raw Lexicon text file, carefully listing every "added" or "edited" entry since the last release, by name. Nobody is supposed to edit a Lexicon definition without updating the change log. This should make it trivial to find missing articles, and hopefully should also allow an easy update to the tags. Every Lexicon entry that's not listed in the change log can be automatically bumped to the latest lexicon release.
That's a lot of small changes to a lot of articles with every Lexicon release, though. Does it make sense to have the default Lexicon tag be just Template:LexiconLatest or some such, with a template to display on the page whatever the latest Lexicon release number actually is?
Then, for the next Lexicon release (30), we can just update the (relatively small) list of changed definitions to say "Release 29" -- and then after each definition is reviewed and patched, the tag is updated at the same time, back to Template:LexiconLatest? Dvgrn (talk) 22:15, 18 July 2018 (UTC)
I suppose that would work, but it's pretty much the opposite of what I was trying to accomplish. ;) I was thinking of this as a status checkbox of sorts where editors would check off that yes, this article has been reviewed for Life Lexicon release 30 or 50 or whatever, and any articles that lacked that virtual checkmark would automatically be herded and available for review and/or updating, as necessary.
Having a "LexiconLatest" tag instead would mean checkmarks that check themselves, by default, and that we'd then have to go and un-check. That's not so different from the current approach, with my TODO page.
But you raise a good point. We have a log of Life Lexicon changes, and once we're actually caught up with the Lexicon in general all we'd have to do is keep an eye on those. Hmmm.
Here's a thought, admittedly a rather complicated one. How about we do both? That is to say, how about a tag template that has both an explicit parameter and uses a default "low watermark", displaying the higher of both?
The explicit parameter would be used by editors to indicate that a page has been reviewed/updated to reflect a certain Lexicon release; the "low watermark" (kept in a template of its own) would be updated by us whenever we're sure that every Lexicon-related entry reflects a certain Lexicon version.
For instance, assume that all our articles conform to Lexicon release 30. Suppose that release 31 comes out now. We then go through the changelog, edit all articles that need updating, and after that's done, we conclude that no further changes are necessary, and bump the "low watermark" to 31, thus causing all articles (that reference the Lexicon) to declare that they match release 31.
One advantage of this would be that we'd still see when an article was last explicitly reviewed. For instance, an article might say it reflects Lexicon release 31, but the "version=" parameter might still say it was last reviewed for 28. If nothing else, this would make it easier to spot articles that haven't been reviewed for a long time and where discrepancies might've crept in.
Another idea: we've already got Template:LinkLexicon to link to Lexicon entries. We could repurpose this to also additionally display a tag, which would save us the need to edit 831 articles just to add a tagging template.
Apple Bottom (talk) 07:50, 19 July 2018 (UTC)
This all seems reasonable to me -- especially sneaking a displayed tag into Template:LinkLexicon. Now that Golly 3.2 and Release 29 are safely out the door, I'm sorta kinda planning to get back to work on the LifeWiki ToDo list for Lexicon updates, with the intention of getting everything up to date eventually -- hopefully well before Release 30 comes along to confuse things any more. We already have some kind of a tracking system set up for Release 28 and 29, so maybe it makes sense to keep using that, and design the new template/tag system to really come into use once everything has been updated to Release 29.
So in early 2019, if we end up with a list of say fifty articles that have changes for Lexicon Release 30, my thought would be to update just those fifty articles to specifically say "Release 29" (however we decide to do that exactly -- maybe with a template saying "this article is out of date, please help out by updating it"?). Then bump up the "low watermark" to 30 right away. As articles get updated, the "please help" template can get removed again with the same edit. Does that work? Dvgrn (talk) 18:49, 19 July 2018 (UTC)
OK, cool. :) Good to hear you'll have some time to devote to the Lexicon-to-LifeWiki TODO list. I'm not able to put in much effort there myself --- too much studying, too many exams. Ah well.
Re: marking e.g. fifty articles as needing updates and everything as conforming to e.g. release 30 by default --- that would be a lot easier if we had Lua scripting available! MediaWiki's templates only go so far and aren't really meant for pushing lots of structured data around.
Our options there would include at least the following:
  1. Manually edit each of those 50 articles (e.g. by setting an extra template parameter) to override the "low watermark". Not ideal --- we might as well just edit those 50 articles to update them if we're already editing them anyway.
  2. Provide a global "kill switch" for the low watermark that, when set, causes the low watermark to be ignored. Pages explicitely listing a conforming Lexicon release would then display that instead, so those 50 "release 29" articles would show up in the right category, etc. Also not ideal --- there might be many other articles that would also have the explicit "reviewed for release 29" tag, or older tags at that, which would NOT need to be updated.
  3. Keep a list of those 50 articles, and rig the template to display a notice if the title of the transcluding page happens to be on that list. Also not ideal --- we'd have to curate that list, and as I said, MediaWiki templates aren't really meant for this sort of thing.
Maybe there's another solution I'm not seeing, though.
That said I also have a feeling we're trying to overengineer the solution, though, or perhaps attacking the problem from the wrong angle. After all, what do we want to do? Keep the LifeWiki current as far as Lexicon content goes. How do we achieve that? By importing Lexicon as necessary, and (once done) keeping an eye on changes made to the Lexicon and mirroring them on the wiki (again, as necessary). And how do we do that? By rolling up our sleeves and working on it. Fancy templates and tagging nonwithstanding we won't get anywhere if we don't just jump in and do it.
(And by "we", I mean whoever's willing to do that job.)
Apple Bottom (talk) 18:16, 20 July 2018 (UTC)
Re: overengineering... yeah, offhand I don't see a better solution than the first one: manually edit 50 articles, copying and pasting the same "stub"-like template marker in as a header. This is a bit tedious, but that's what multiple browser tabs are for, and it can be done pretty easily in half an hour or so. The idea is that we can make a little bit of effort to spread the update work around. (Here "we" means the small group of people who have done the work so far -- a small group because it's kind of tricky to do everything right, so not many people have figured out all the fiddly details.)
I can add "needs Lexicon update" headers to 50 articles in half an hour, but I sure can't do a careful comparison and repair on 50 articles, especially if it will require adding new illustrations or modifying existing ones. But it seems to me that there's a larger (and growing) population of LifeWiki users who can perfectly well review a particular Lexicon definition when they trip over a "needs Lexicon update" template header begging for help. Often it isn't too hard to find what needs changing, make the required edits, and remove the "needs Lexicon update" tag at the same time.
Every one of these articles that someone picks up and fixes, is one that I don't have to do myself... and in the meantime, a half hour of work has already brought the LifeWiki more up to date, by specifically flagging the fact that there's newer information somewhere else that needs to be integrated into the article. Seems like this might be a good habit to get into, for as long as the Life Lexicon is kept more or less in synch with current reality.
Sound reasonable? And could you have a look at Template:NeedsLexiconUpdate and see if it has everything in it that this plan might need? Dvgrn (talk) 21:02, 20 July 2018 (UTC)
Redirect pages don't need any markers saying they're from a Lexicon entry -- do they? I've been trying to rebuild some momentum by getting the remaining redirects done... Dvgrn (talk) 21:57, 26 July 2018 (UTC)
Cool, good to see this is already progressing. Good job! :) I'm a little less swamped now, so I'll take a look at the Template'n all over the weekend.
No, I don't think redirect pages need markers. I don't consider these "content" in the strictest sense, in either the Lexicon or the LifeWiki --- they're just tools that help people find content.
Apple Bottom (talk) 08:31, 28 July 2018 (UTC)

Object frequency classes

I do apologize for my somewhat extended absence. That said, I had an idea (long ago actually) about adding information on the commonness of objects to pattern infoboxes, using data from Catagolue (specifically, B3/S23/C1).

I don't think saying "this still life is the 1,691th most common object on Catagolue" is useful, of course. What I'm proposing instead is the frequency class, defined as follows: a pattern is in frequency class X if the most commonly-occurring object (the block, in this case) is 2X times more common. X need not be an integer; to strike a balance I'd suggest using one decimal digit.

Let me give an example. The twin hat has appeared 240,372,408 times on Catagolue (as of this morning), whereas the block has appeared 71,146,901,659,666 times. So the block is approximately 295,986 ≈ 218.17517 times more common, and the twin hat's frequency class is 18.2, rounded to one decimal digit.

I think this is a fairly intuitive way of capturing commonness. An additional nice property is that if an object has occurred sufficiently often, its frequency class is unlikely to change much, if at all; this is true even for objects whose commonness is very similar and who might switch ranks regularly, with one or the other having occurred more often at any given moment. So once this information's added, we wouldn't need to edit it much, if at all ever.

Like I said, only sufficiently common objects should have this information added; there's too much uncertainty about the frequency class of an object that has only appeared once, say. I unfortunately lack the statistical background to suggest a good cut-off value ("objects should only have this information in their infoboxes if they have occurred at least n times"), but unless there are objections I'll add this, or at least do the necessary template work.

...heck, I'll just go ahead and do it, it's been a while since I've edited anything here. If anyone thinks that this is a load of bull, please just speak up and say so. :) Apple Bottom (talk) 17:56, 1 September 2018 (UTC)

(P.S. --- although the block is the most common in B3/S23/C1, it isn't necessarily for other B3/S23 censuses; in some symmetries, the blinker is more common.)

Replying to myself, I've started doing this; there is a new template parameter, fc=, currently only for Template:Stilllife, Template:Oscillator, Template:Spaceship and Template:Puffer (no other types of object have appeared on Catagolue anyway). I've also added a short glossary entry at Frequency class, and added frequency calss data to a couple of object infoboxes, including all with FC ≤ 10.0. The script used to generate the necessary data from Catagolue's textcensus is this:
#!/usr/bin/perl

# usage eg.:
# perl ../frequencyclasses.pl b3s23.C1.txt >frequencyclasses.txt

use Modern::Perl '2016';

# only patterns with more than $cutoff occurrences should be considered.
# mark all other patterns with an asterisk.
our $cutoff = 10;

# throw away header line
<>;

my %objects = ();
my $mostcommon = -1;
my $mostcommoncode = "";
while(<>) {
    chomp;
    next unless m/^"([^"]*)","(\d+)"$/;

    my ($apgcode, $count) = ($1, $2);
    $objects{$apgcode} = $count;

    if($count > $mostcommon) {
        $mostcommon = $count;
        $mostcommoncode = $apgcode;
    }
}

my %frequencies = ();
foreach my $apgcode (keys %objects) {
    my $frequencyclass = sprintf("%.1f", (log($mostcommon / $objects{$apgcode})) / log(2));
    $frequencies{$frequencyclass}->{$apgcode} = $objects{$apgcode};
}

foreach my $frequency (sort { $a <=> $b } keys %frequencies) {
    foreach my $apgcode (sort { $frequencies{$frequency}->{$a} <=> $frequencies{$frequency}->{$b} } keys %{ $frequencies{$frequency} }) {
        print "*" if($frequencies{$frequency}->{$apgcode} <= $cutoff);
        say "$frequency\t $apgcode\t $frequencies{$frequency}->{$apgcode}";
    }
}
(I'm sure there's better ways of doing this, but this worked for me.) Apple Bottom (talk) 18:52, 1 September 2018 (UTC)
Another reply to myself --- Goldtiger997 suggested a cut-off value of 10 (non-inclusive). This strikes me as sensible. So unless there's objections, how about we run with this, and only add frequency class information to objects having appeared more than 10 times?
Also --- right now the information is Catagolue-specific, which is sensible but still somewhat arbitrary; if we want to include more information later (e.g. from Achim's, Andrzej's and Nathaniel's censuses, or from whatever future censuses people may come up with), we can easily adjust the infoboxes to include a new "Commonness" section, and re-interpret fc= as "frequency in [c]atagolue". Apple Bottom (talk) 09:08, 2 September 2018 (UTC)
Sounds good. However, I already broke my "suggestion" of the 10 occurence cut-off twice; for the Coe ship and Achim's p8. Is it worth removing the fc parameter for those two articles, or should they just be left as they are? Goldtiger997 (talk) 09:26, 2 September 2018 (UTC)
I think we can grandfather those in --- would be good if you could keep an eye on them in case the information changes, of course, but it's just two articles, so that should be fine. I've also added the cutoff of >10 to the script above; patterns not reaching that cutoff are marked with an asterisk. Apple Bottom (talk) 09:35, 2 September 2018 (UTC)

Infobox vs. EmbedViewer

All this interminable Life Lexicon import work has been leading me to believe that there are two classes of articles that can use LifeViewer animations. There are the named patterns, where if you say "Pattern X" there's really only one likely Pattern X that you could be referring to. These get put into an infobox category, with appropriate statistics collected and so forth. The most recent example of this kind of imported Lexicon article is line crosser.

The other class of article is for a term that might refer to a variety of different patterns, so that there are various examples but no specific example should really be considered to be the one canonical one. In these cases I've been using an embedded viewer but haven't been bothering with an infobox. The most recent examples along these lines are line-cutting reaction and line-mending reaction. I like the way these are turning out, but am curious to hear if anyone thinks that these should also be infoboxed somehow, or if anything else should be added as standard practice. Dvgrn (talk) 09:45, 12 September 2018 (UTC)

I think this is eminently sensible. Off the top of my head, aren't there a few articles that have infoboxes despite being about a family of patterns rather than a specific individual one? (Or patterns with variants, anyway --- the bee shuttles come to mind there.) I've never been quite sure how to handle those, though that's not limited to LifeViewer and embedded patterns: the same goes for other infobox'ed information, such as bounding box, population etc. Apple Bottom (talk) 07:54, 13 September 2018 (UTC)
Yup, those are the ones where I find the infoboxes to be not-helpful. Would suggest in those cases maybe just using an embedded viewer to show one of the family, or maybe a small stamp collection would be better. The most recent example I dealt with was HFx58B from the Life Lexicon. Rather than pick a variant, and/or leave out perfectly good information that the Lexicon had, I just threw caution to the winds and put both patterns in the same infobox, but picked the older variant to do the infobox stats about. Probably this will puzzle somebody sometime, but sometimes Life can be confusing... Dvgrn (talk) 11:20, 13 September 2018 (UTC)

Semi-automated collection of raw RLE

I now have a completed Python script -- working on my system, at least! -- that goes through all articles in the main namespace looking for pname definitions in infoboxes and embedded viewers. If it finds any defined pnames, it checks www.conwaylife.com/patterns/{pname}.rle; if a Not Found error comes back, it creates an appropriate file using RLE from conwaylife.com/w/index.php?title=RLE:{pname}&action=edit, in a reasonably standard format including pname, discoverer and discovery year if available, and links to the relevant article and the RLE file itself.

On the last pass the script found 190 missing RLE files in the main namespace. These have now been uploaded to the server and added to all.zip. You can sort the contents of all.zip by date to see the new additions. Since this was a mostly automated process, the script may have picked up a few patterns that shouldn't really be part of the collection. If anyone wants to do a quick independent review, I'd appreciate it!

I think this will make the process of getting RLE uploaded to the server a lot easier for non-admins. If raw RLE is created in the RLE: namespace, and is used in a pattern infobox or an embedded viewer, then it will make it to the all.zip collection eventually. To give time for new raw-RLE additions to be peer-reviewed, I would think this script would only be run quarterly or so, with the resulting new RLE files sent as a ZIP file to Nathaniel to do a bulk upload to the server. There shouldn't be any problem with good files getting overwritten with bad ones, since the script only generates an RLE file if no existing file is found.

It occurs to me that another semi-automated survey might be looking for articles with nofile=true, that do in fact now have raw RLE and/or uploaded RLE files. I'll try adjusting the script to include any such files it finds in its final report. It's a little trickier to automatically update all such "nofile = true" to say "rle = true" instead -- it's doable, but it needs a different kind of automation.

Thoughts, suggestions, worries, bug reports? I'll add a link here to the RLE-scraper Python script when I've made it available on GitHub. Dvgrn (talk) 14:21, 23 October 2018 (UTC)

Link! Dvgrn (talk) 00:58, 26 October 2018 (UTC)
The next item on the RLE-scraper script TODO list will be to check for raw-RLE {pname}_synth files, and upload them if they aren't already there. Longer term, the script can make a report of any differences it finds between files already on the server and the current contents of the RLE: namespace. Probably best not to upload changed files automatically -- it seems worth having a human review any changes, and take the time to revert any changes that aren't approved for upload to the pattern collection. Dvgrn (talk) 10:46, 25 October 2018 (UTC)

Oscillator mods

I noticed that all the recently created oscillator pages from the latest Lexicon update (example: p29 pentadecathlon hassler) have their mods listed along with their periods even if they're equal. Is it agreed upon that this should be the case? Because if so I can go through the unknown mod list later and add in all the mods if no one objects to it. Ian07 (talk) 14:53, 28 October 2018 (UTC)

I can't claim to have made a really deliberate decision to include the mod when it's the same as the period -- I was just blindly filling in values in the oscillator template I was using. I don't have any objection to listing both period and mod, but let's see if anyone else has a different opinion. Many thanks for all the cleanup work you've been doing recently, by the way! Dvgrn (talk) 17:04, 1 November 2018 (UTC)
Just to chime in --- I think listing both the period and the mod is valuable even if they match. Otherwise, if an infobox doesn't have mod information, a user won't know if that's because we haven't filled in the info or because it's the same as the period.
And I agree, thanks are due to Ian07 for all the clean-ups and other work. MediaWiki has barn (heh) stars; do we have something similar? Maybe we should. Apple Bottom (talk) 21:01, 3 November 2018 (UTC)

Conduit orientations and ghost Herschels

Quick question, y'all: is "T" a standard designation for a "turned" conduit output orientation? I'm asking because of this edit to Template:Conduit --- I lack the expertise whether this is standard terminology or not.

If it is, it should be documented in the template. Apple Bottom (talk) 21:27, 3 November 2018 (UTC)

Similarly, this edit to Template:Conduit/Doc doesn't seen to be adding anything useful to the page. As I've just started here I'm a bit hesitant to go around rolling back changes to Template pages though. Wildmyron (talk) 03:31, 12 December 2018 (UTC)
Thanks for pointing these out. I rolled back the "gray eaters" edit. The "T" option for symmetrical signals is a little more complicated. It is definitely something that I tried as a classifier a few years ago, but it never really caught on. Now just in the last few days Freywa has done a new update of the Elementary Conduits Collection with a better idea than "T", so I'll have a go at documenting that instead.
Another conduit-related topic, for @Sokwe and anyone else interested: it looks like there isn't universal agreement about whether ghost Herschels are a good idea or not, in conduit patterns. I recklessly ported them in from the Life Lexicon, and I'm certainly going to keep them there because they're so darn useful. You can copy conduits out of the Lexicon and string them together immediately. My theory is that the same is true of patterns on the LifeWiki, and therefore that there should be a ghost eater in Syringe 2, to match the one in syringe and the dozens of other instances in various recently added conduits.
I can see how this looks a little bit like pollution, though, especially if it's extended to other types of outputs (which isn't very clean or easy to do in general, so let's not do that). I've been careful to link to ghost Herschel every time I use one (I think), so they shouldn't be mysterious for long -- and I'm seeing them getting a fair amount of use as markers in constructed patterns lately. Anyone want to contribute other opinions on this? Dvgrn (talk) 13:33, 13 December 2018 (UTC)

Categories and User Pages

Entity Valkyrie has been using pattern templates on user pages, causing those user pages to show up in category:patterns and other categories. It is my opinion that patterns on user pages should not be included in the categories. One way to fix this would be to detect the namespace of the page that the pattern template is being used on. Something like the following:

{{#ifeq:{{NAMESPACE}}|User||[[category:patterns]]}}

This would categorize a non-user page as a pattern, but would do nothing on a user page.

Are there any objections to this proposal? Comments?
~Sokwe 08:11, 2 December 2018 (UTC)

I like that plan, especially if someone else implements it who is less likely than me to break templates. I've been trying to keep user namespace stuff out of the main namespace in general, with fairly good success so far I think -- but I don't usually go in and edit things like categories when a page moves from the main namespace to the User namespace. Dvgrn (talk) 11:53, 2 December 2018 (UTC)

Documenting 12-Bit Still Lifes

AwesoMan3000 has been working on a fairly ambitious project to add articles for all of the 12-cell still lifes. Most of them have systemic names, and it looks like negotiations have been at least partially successful about not just making names up when long-standing existing names are available. As of this writing, swimming cap is still an unnecessary neologism for "integral with tub and tail", I believe, and there may be others -- it's hard to keep up, but this is a work in progress with lots of ongoing adjustments. The plan is for it to be complete by the end of the year.

A number of issues have appeared that I'd be interested in trying to get some kind of consensus about:

  1. when a still life is renamed for consistency -- e.g., "X and Y" names have been rapidly changing to "X on Y", as in block on cap -- changing the pname to match the name tends to break lots of links, especially for older 12-bit objects where Life 1.05, Life 1.06, and .cells formats are available. I'd like to suggest that we can take the radical step of dropping support for Life 1.05, 1.06 and .cells formats, and removing the links for those formats whenever we have an opportunity. Is there any disagreement on this? After that, it should be fairly workable to add just RLE:pname.rle and RLE:pname_synth.rle pages wherever necessary. That will eventually fix the remaining broken links (see below).
  2. if the pname is changed, or if the still life in question didn't have an existing article on LifeWiki, AwesoMan3000 has been promising that there is an RLE file, using rle = true in the infobox parameters, and then uploading raw RLE under that pname. If I remember right, the rle = true is currently needed to get the infobox template to notice that LifeViewer can be used to display the pattern, instead of looking for an image file. There isn't actually an uploaded RLE file in the LifeWiki pattern collection, so .rle and _synth.rle links will give Not Found errors for the time being.
  3. Several still life names have been changed due to an alphabetization rule, e.g., barge siamese loaf instead of loaf siamese barge. This poses the same dangers of link breakage as above, fixable in the same way. Or... it also seems workable to change the name of the page but keep the pname the same, at least until replacement raw RLE is uploaded. See Talk:Hat_siamese_vase. This is being done for the moment in several of the "X on Y" pages. Am I missing other possible problems with this brave but potentially foolhardy renaming-for-consistency project?
  4. When no systemic or traditional name is available for a still life, either on Catagolue or in Mark Niemiec's database, it's hard to avoid the temptation to invent new names that no one has ever used before, and most likely no one will ever use and they'll just cause confusion. One way around this would be to make it standard practice to write the article using the apgcode as the systemic name. I don't like this idea all that much, just because the pname would have to have an underscore in it for readability -- and MediaWiki likes to change underscores to spaces in some contexts, and I'm relatively sure that Murphy's Law will produce some unintended consequences somewhere. Still, it's been tried, and it appears to work okay -- see xs15_3lkia4z32. Does that seem like a reasonable stopgap solution for unnamed objects? We can always move apgcode-named articles later if a better systemic naming convention shows up.

Next Steps

When all raw RLE files have been added in the RLE: namespace for this project, I can re-run the auto-uploader script and make a set of new RLE files for a bulk upload to the LifeWiki server. The script will have to be updated to check for RLE:pname_synth pages as well as RLE:pname files. If the RLE namespace has been populated correctly, this will fix all the remaining broken links. I'll plan to do a round of auto-updating early in 2019.

As before, if a pname.rle or pname_synth.rle pattern has already been uploaded to the LifeWiki server, it won't be overwritten by anything added to the RLE namespace. Eventually the script might check whether the uploaded pattern is the same as the raw RLE, and produce a report of any discrepancies so they can be resolved. Not sure I'll get around to adding that feature in this next update, though.

Comments, concerns, suggestions? Dvgrn (talk) 17:23, 21 December 2018 (UTC)

Also, AwesoMan3000 put the following in checkin comments for beacon on dock:
can we get a tiki bar discussion on whether all disambiguation pages should have (disambiguation) on the end, by the way? i'd rather cut down on unnecessary redirects where possible
So, okay, here's a Tiki Bar discussion. I don't see why the page shouldn't be moved to beacon on dock (disambiguation) to match the original beacon and dock (disambiguation) page. I'm not a big fan of disambiguation pages in general, especially where they can be avoided by making a single page for the most common definition, and linking from that page to other possible meanings under different names. But that doesn't work for cases like this where there isn't a most common definition. Dvgrn (talk) 20:44, 21 December 2018 (UTC)
Re: Made-up names
I agree that we should stick to established names when they're available and not make up new ones. OTOH, when an object does not have any established name (and I really do mean does not, not just "whoever wrote the article couldn't remember it"), I think it's in the best tradition of Life (and life) to give it one.
The question then is whether the LifeWiki is the right place for this. My general feeling is that we're a relatively conservative part of the Life universe: we aim to document, not invent. We're not as anal about it as Wikipedia with its "no-original-research" and "verifiability-not-truth" criteria for inclusion, and neither do we have to be; but just like we're asking people to not create wiki pages for new discoveries of their own but instead share them on e.g. the forums, we can also ask people to not name previously-unnamed on the wiki but instead resort to (again) the forums, etc.
OTOH this may very well lead to a situation where a user wanting to name an unnamed object will simply suggest the name on the forum in an appropriate thread (is there one yet?), wait for a few days/weeks/months, and conclude from the resulting thundering silence that there are no objections -- all in favor --, and go ahead and name the object on the wiki. The end result would be the same, modulo the extra pain of that extra waiting time.
And would this gain us anything?
FWIW, what are we looking to gain from a policy that forbids new names from being put on the wiki first anyway? If we don our documentationist's hats (documentationist --- I hope that's a word!) and take no position on whether a named object is somehow preferable to an unnamed ones, if we merely want to document the Life's community works, passively and from the outside, then yes, this is preferable. If we see ourselves as being an active part of the community, we might find named objects preferable to unnamed ones (and "proper" names preferable to systematic ones, etc).
I think I'm in the latter camp myself. I like named objects.
What I am worried about is that, if we allow new names to be "born" on the LifeWiki, … shall we say, easily excited users might get carried away and go on an editing spree, adding hundreds of new names to previously unnamed objects without any discussion or consensus.
Going off on a tangent for one paragraph, I also think the creative naming in Life stem in no small part from the need to be able to talk about objects. These days we have apgcodes, so we can indeed refer to xs15_3lkia4z32 without it having a proper names.
The best solution I have is what one might call a four-eyes approach, where
  1. New names are valued in principle;
  2. But the person proposing them can't be the one naming the object on the Wiki;
  3. If someone wants to add page for a (notable) object that doesn't yet have a name, they should use the object's apgcode.
Whether names are proposed on the forum or elsewhere is largely irrelevant than, though I'd suggest a dedicated thread on the forum. I'd also suggest a certain cool-down period between the proposal and the wiki edit, so that others have a chance to speak up. (What I'm worried about there is the possibility that two easily-excited users, might join forces after one of them proposed a new name elsewhere, say on Discord: one would propose it, and right after the other would accept it).
Re: pname changes, Life 1.05/... support
No objects to dropping Life 1.05, 1.06, and cells; RLE has clearly emerged as the standard at this point. I don't know if anyone's still using a CA simulator that's not capable of using RLE, but the lack of complaints about new patterns only having RLE files available and nothing else leads me to believe there isn't. I'd say let's remove support for these and see if anyone speaks up. If there's no complaints, we can flip the switch for good.
As for pname changes in general, they're still a pain. I'd suggest that
  1. Whoever changes a pname is responsible for cleaning up the resulting mess; and
  2. pname changes shouldn't be mandatory without a good reason.
What is a "good reason"? A typo, say --- "pname = 2enginecrodership" would obviously require correction. OTOH, if Beluchenko's p51 has "pname = 112p51", I see no problem with that at all. (If anyone else does, they're welcome to change it, provided they clean up afterwards, as per 1. above).
Re: infobox parameters
These should always correctly reflect the status quo. If a pattern doesn't have an RLE file uploaded, the infobox template call shouldn't have "rle=true". Don't lie to the infobox templates! It's the responsibility of those who create articles to make sure all parameters are correct to the best of their knowledge.
Re: RLE files and raw RLE snippets
I'll leave this in your capable hands. :)
Final note
I think having articles on all 12-bit still lifes is a worthwhile endeavor, but -- in light of who's doing this, and admittedly without actually having looked at anything that was created recently -- I'd like to remind everyone who's creating articles that they have a duty to exercise care when doing so. In particular, this means not just starting a whole lot of articles and leaving them in half-broken states.
I'd also like to remind people that they should learn from their mistakes. Nobody's perfect, especially newcomers; the LifeWiki can be difficult to get used to, I imagine. We have the right to make mistakes, but we have the duty to learn from them. He who keeps making the same mistakes time and again is either ignorant, or careless, or both, and those are not qualities a LifeWiki editor should have.
(And that's about all I can think of, off the top of my head.) Apple Bottom (talk) 11:20, 22 December 2018 (UTC)
Thanks for the thoughtful review. A couple of template issues have come up where some expert advice would be helpful:
1) A change made yesterday to Template:Oscillator seems to be not working to populate Category:Periodic_objects_with_minimum_population_3 and all other, um, categories in that category. Is there a misplaced character somewhere in those hideous piles of parentheses, or is the problem actually somewhere else?
2) Is it possible to do Template Magic (TM) to make glider syntheses behave the same way as regular pattern files do? That is, if synthesisRLE = true, then the standard link to an uploaded pattern file should appear in the Glider Synthesis section of the infobox -- but otherwise, if there's a page at RLE:{pname}_synth, then a "raw RLE" link should appear instead.
Here's an example of an update currently in process: we used to have an uploaded eateronboat.rle --
#N Eater on boat
#C A 12-cell still life consisting of an eater 1 and a boat.
#C http://www.conwaylife.com/wiki/index.php?title=Eater_on_boat
-- and an uploaded eateronboat_synth.rle --
#N Eater on boat_synth
#O Mark D. Niemiec
#C Glider synthesis of eater on boat.
#C www.conwaylife.com/wiki/index.php?title=Eater_on_boat
Then along comes AwesoMan3000, who probably thinks that that's a lousy name for this object because it can mean two different things, and isn't really a common use of "on" anyway. So the name gets upgraded to the more specific "boat tie eater tail", and all the appropriate changes get made to the text of the article. And there's a redirect from eater on boat, so damage is limited to other pages that link to this page.
However, AwesoMan3000 can't do anything directly about those uploaded pattern files, or the comments in those files. The simple solution is to just leave the pname the same, still pointing to the old pattern and synth files. That doesn't break any links, but it's a bit confusing because the name doesn't match the article.
If we want to get boattieeatertail.rle and boattieeatertail_synth.rle files uploaded to the LifeWiki server, currently what we can do is add those as raw RLE, and change the pname in the article to boattieeatertail. I've done that experimentally for this example. As a nice side effect, as soon as the pname changes, LifeViewer shows up in the infobox instead of a static image.
That's not too exciting when we're dealing with still lifes... but it does start to get people used to an easier way of getting a copy of the RLE to paste into Golly or wherever -- click to launch LifeViewer, then Ctrl+C.
(If anyone is following along, Beehive_at_loaf is currently an example of the old style of article, with a separately uploaded static image -- no LifeViewer, just because no raw RLE has been uploaded to RLE:beehiveatloaf.)
Okay, so here is where the difficulty shows up!
PROBLEM: as soon as the pname is changed from "eateronboat" to "boattieeatertail", the rle = true and synthesisRLE = true lines in the infobox suddenly turn into lies. They're only temporary lies, because there's a plan to run the auto-uploader script and get the new RLE uploaded. But when RLE is being added for dozens or hundreds of still lifes, there's no way that an admin is going to keep up with running the auto-uploader after every change.
In fact, it just plain doesn't work that way -- the auto-uploader does a scan of the entire main LifeWiki namespace and creates an archive ZIP file of a big pile of changes, intended to be sent to Nathaniel to do a bulk upload to the server. That should really only happen a few times a year, not every time a change happens. So we wait until a batch of changes have been made, then collect and send them.
Theoretically we could remove the rle = true and synthesisRLE = true lines from each article, then add them right back again after the auto-upload is done. But when the timeline of a project is short enough, that looks like a highly irritating waste of time -- basically, Life is too short.
I hope everyone is okay with the idea of saying that these particular deliberate temporary inaccuracies in infobox parameters are actually not "lies", but rather something along the lines of "promises". Dvgrn (talk) 13:40, 22 December 2018 (UTC)
As for the first issue, I checked and double-checked the template and didn't find any syntax errors. What's weird is if you go to the Blinker article you can see that it has the Category:Periodic objects with minimum population 3 category, but the category page says it's empty. This makes me think that there's some sort of glitch with MediaWiki rather than a syntax error, especially considering that, as you pointed out on Discord, LifeWiki is running a pretty outdated version of it. Ian07 (talk) 14:00, 22 December 2018 (UTC)
Can the links to pattern files be directed to a dynamic endpoint that creates the pattern file? For all patterns with apgcodes, for instance, Catagolue could theoretically include endpoints of the form /objfile/<rule>/<apgcode>/<format> (with support for RLE, Life 1.05, and Life 1.06). That would mean that humans only need to provide static RLE files for large and/or aperiodic patterns. Calcyman (talk) 00:36, 23 December 2018 (UTC)
Late reply, but yes, that would definitely be possible. Pattern file links are handled by Template:PatternDownload, which already gets passed the apgcode (if we have it, for a given object), so it'd only be a matter of tweaking that template. And I think doing away with manually-generated and -uploaded RLE files where possible would save us a lot of work.
(I should qualify this by stating that I'm not suggesting we delete existing manually-generated pattern files; merely that having Catagolue be able to do this would allow us to not have to worry about future ones, except for Patterns of Unusual Size™ etc).
I do like the idea of not having to upload pattern files for all the files that have apgcodes, theoretically. On the other hand, the fastest way to get a picture of an object into an article about the object, these days, is to upload RLE to the RLE namespace and add the relevant infobox. And the RLE-scraper script can then (with just a small amount of help from me) magically grab all the new pname-linked RLE files, put them in a ZIP archive, and send it to Nathaniel to put on the server -- once every month or three as needed.
I can add automatic conversion of everything to .cells format and add those files automatically to the ZIP file sent to Nathaniel. So would we gain much by being able to link to a pattern file on Catagolue? Not sure.
I'm starting to work on support in the script for {pname}_synth files as well, so that if people put something into RLE:{pname}_synth, it will get turned into {pname}_synth.rle and get thrown in the ZIP file along with everything else. But here I'm really not sure if that's the best thing to do, at least for a lot of cases. There are a couple of big sources of synthesis RLE: chris_c's script (via Catagolue these days) and Mark Niemiec's database. Maybe Catagolue could serve up RLE without the LifeViewer, or maybe the "Glider synthesis" section in the infobox could be tweaked so that it links to the LifeViewer page on Catagolue showing the relevant synthesis?
Then for anything that has a synthesis in Mark Niemiec's database, we just need to collect the identifiers and add them to the infobox template (somehow -- suggestions gratefully accepted), then set up the template to link directly to those files. For example, the path to the beehive synthesis is "0/6hv.rle", and the path to a beehive on cap synthesis is "14/14-50.rle".
That way RLE:{pname}_synth pages would only have to be collected and uploaded for patterns where no synthesis is available on Catagolue or on Mark's site.
Something like this would prevent us from continuing to upload so many no-value-added syntheses that are just copies of something from elsewhere (and that won't get updated when Mark's database or chris_c's script gets updated).
I don't think we should necessarily start the big project of supplying all those Niemiec-database identifiers to the infoboxes quite yet: Mark has said recently that he's close to rolling out a new version of his site, and it might make sense to wait and make sure nothing major has changed in the new version. But we could try the experiment of getting everything set up correctly for, say, the 12-bit still lifes that were added to the LifeWiki recently.
TL;DR: Templates need tweaking. Anyone interested in trying some experimental additions to the Glider Synthesis section? Dvgrn (talk) 03:59, 10 January 2019 (UTC)
It seems that MDN has helpfully highlighted objects in a different colour in his version of Extended RLE. I think this means that the .rle files can be automatically reverse-engineered to deduce the objects that are produced, enabling the generation of an apgcode-to-mniemiec-url mapping. Calcyman (talk) 16:10, 10 January 2019 (UTC)
That might work, though it might also be more trouble than it's worth to get the automated reverse-engineering working. It's not just the target objects that get the "x" color, but also the intermediate stable stages -- and there are a lot of those in some cases, when multiple construction paths are documented. If you censused all the 'x' objects, the most common object is probably the target object -- or the one that's farthest to the right, I suppose.
But that may not be necessary. Mark sent an email to me over half a year ago saying that he had put together "...vastly improved search pages [which] should include everything necessary to perform searches... pattern lists, statistics for each pattern, and links to other sites (like Catagolue, Pentadecathlon, David Eppstein's Glider Repository, and LifeWiki)". So it's possible that Niemiec Database Mark 2 (heh) might provide a list of the required apgcodes with no need for reverse engineering.
We'll see when the time comes, I guess. At worst, generating that lookup table manually or semi-manually would be a one-time effort -- painful, but finite. Dvgrn (talk) 21:44, 10 January 2019 (UTC)

Resetting indent back to zero, but still talking about kind of the same thing:

I just thought to check the LifeWiki pattern collection for outdated links to Mark's database. There were 165 RLE files with dead links in the comments. I fixed two of them, one by creating an RLE:{pname}_synth page and one by editing the pattern comments and deleting and re-uploading the file by hand... and then thought, "Nope. There has to be a better way."

Now I'm just doing a search-and-replace, "http://www.conwaylife.com/ref/mniemiec" instead of "http://home.interserv.com/~mniemiec/", and will ask Nathaniel to re-upload all those files to the server along with the output of the auto-upload script.

Of course, if these _synth files were created when that website was available, a lot of the actual syntheses might be out of date as well. A dynamic endpoint somewhere for reporting the actual latest synthesis for each object would certainly be a step up from the current perpetually out-of-date synthesis files.

-- On the other hand, there are big advantages to Mark's comprehensive collections of practically every historically known way of constructing each object. Sometimes you might want a synthesis with a suboptimal number of gliders but better clearance than usual, or might want an incremental construction starting from one half of the still life, or whatever. Reporting just a single current-best synthesis would lose a lot of that useful information. Dvgrn (talk) 22:25, 24 January 2019 (UTC)

The problem of deciding what to do about glider syntheses is still where it was in January. I'm still leaning toward leaving things pretty much as they are until Mark Niemiec's new synthesis database becomes available, and then figuring out how to link directly to the relevant Niemiec synthesis page, for any object that has a LifeWiki article -- and removing those _synth files from the Patterns folder. Most of the Niemiec-derived _synth files that have been uploaded will probably be subtly out of date when the new version comes out. Anyone have any better ideas?
In other news, User:Dvgrn/Plaintext_files documents the 695 new plaintext-format .cells files that are available on the server now. This means that a lot of articles' infoboxes could now be updated to say |plaintext = true along with |rle = true. If nobody wants to tackle making these several hundred edits manually, I might eventually look into setting up some kind of automated search-and-replace functionality, based on this kind of article list. Dvgrn (talk) 22:45, 17 February 2019 (UTC)
I noticed once again that there are quite a few patterns with capitalization in their names, most of which (with a few exceptions) were created by User:Entity Valkyrie. Even RLE:ModelD is still in that list despite having been deleted and moved over a week ago, so those should probably be fixed. Something more confusing, though, is that certain small patterns (such as 44P14 and 44P12.3) were labeled as being too large despite easily fitting within the 64×100 limit. What's up with that?
As for adding these to the infoboxes, I'll probably get to that eventually but I'm a bit too busy at the moment. Ian07 (talk) 23:14, 17 February 2019 (UTC)
Many thanks for the review. I believe I've patched all the remaining instances of pnames with capital letters: 68p16.cells/.rle, 76p8.cells/.rle, 113p18.cells/.rle, 209p8.cells/.rle, p130shuttle2.cells/.rle, l156reactions.rle, p24lwss.rle, and p52g3to4.rle. Obviously in the future the auto-upload script should check for capital letters and complain.
I haven't yet looked into why a few small patterns didn't get .cells files created properly. Will figure it out and fix that bug along with adding the capitalization check. That one isn't too worrisome -- anything that got missed in the first round we should be able to pick up on the next auto-upload. Dvgrn (talk) 19:54, 18 February 2019 (UTC)

The list(s) of rules investigated on Catagolue

Short version: these have increasingly become a burden to maintain on-wiki, and with Catagolue now having its own endpoint providing an overview over and an exhaustive list of all rules searched, they're largely irrelevant now. (The on-wiki list was only started because Catagolue didn't provide one at the time.)

So I'm giving up maintainership of these. If anyone wants to take over, please do! Apple Bottom (talk) 17:00, 7 January 2019 (UTC)

If we are to retire the List of rules investigated on Catagolue, how should we do this? Add a notice at the top saying:
"This page is no longer actively maintained in favour of the equivalent Catagolue page."
or words to that effect?
It still might be a good idea to actually keep the information in the LifeWiki, because Catagolue occasionally has outages when the daily quota has been exceeded, whereas conwaylife.com tends to be permanently accessible. Calcyman (talk) 18:26, 7 January 2019 (UTC)
The wiki page does have some advantages over the Catagolue one, such as listing the rule integers for outer-totalistic rules and being easier to edit (e.g. adding names for new rules). 77topaz (talk) 23:51, 7 January 2019 (UTC)

Time for a consensus decision on pnames?

I've run the RLE-scraper script to collect new RLE files for a bulk upload. The script found 321 new RLE files. Before I send them to Nathaniel, it looks like I'll be doing some more standardization, especially involving pnames.

The guidelines for creating pnames say very clearly:

pname	(required) The name of the pattern being described, but converted to lowercase and with all non-alphanumeric characters and spaces removed.

This has worked fine for us for the great majority of cases, but there are two related cases where blindly following that rule creates not-very-good pnames:

  1. apgcode-based names, where removing the underscore can sometimes concatenate two strings of digits. For example, according to the rule, Xs15_3lkia4z32 is theoretically supposed to have a pname of "xs153lkia4z32", which reads as if it's a 153-bit still life. Underscores are confusing in article names because MediaWiki turns right around and renders the name without an underscore. But they do seem to work fine, and they're necessary in other article names, anyway -- raw RLE "pname_synth" synthesis files need them.
  2. patterns named after a Niemiec or pentadecathlon.com ID, where removing a period causes similar problems with readability. Examples:
  • 37P7.1, created by Sokwe in 2009 with a pname of "37p7.1" -- including the period. Another similar case is 37P10.1, where Sokwe changed the pname from Nathaniel's original "37p101" to "37p10.1", back in 2010.
  • 38P11.1, with a pname of "38p111". Periods in filenames are definitely annoying because the part after the period can look like a file extension... but I think "38p11.1" would really be better here.
  • Several patterns with pnames created by Entity Valkyrie recently: 14p2.1, 14p2.3, 14p2.4, 28p7.3, 28p7.3bumperbouncer, 28p7.3eatingss, 31.4, 33p3.1, 33p3.1bumper, 33p3.1eatingss, 33p3.1reactions, 34P6.1.

Capitalization Bad

The last pname in that list is also nonstandard due to capitalization, but that's a separate problem. The full list of capitalized pnames is 35P12, 53P13, 55P10, 113P18, BF20H, BFx59Hinjector, FMHEB, Gtolwss.rle, L112functions, L156reactions, L156variants, L200, Lightspeedcrawler, P5HWV, P58toadflipper, PT8P, PT9B, PT38P -- again all by Entity Valkyrie, I think. I'll definitely have to go through and fix all of these, just because they're dangerous to cross-platform uses of the pattern collection: "35P12.rle" will overwrite "35p12.rle" on a Windows operating system, but not on Linux. And LifeViewer fails to find "RLE:35P12" when told given "pname = 35p12", because the LifeWiki's filesystem is case-sensitive. So I think the no-capitalization part of the pname guidelines should continue to be very carefully enforced.

Periods Not So Bad

However, given the long precedent for pnames occasionally including periods, I'm not planning to change any of Entity Valkyrie's pnames if a period is the only non-standard part. Should probably do something about "31.4", but the rest seem okay.

-- Anyone know where the ".4" comes from in "31.4", by the way? The problem with calling the thing just plain "Snark catalyst" is that there are several workable Snark catalysts. 31.4 is one of the two most common ones, but it's not exactly "the" Snark catalyst. But no other common name has caught on. (Bellman Zero, anyone? Catalyst B0? 31.4 seems better than either of those.)

Summary questions

TL;DR: Does anyone object if I adjust the pname guidelines to say that periods are okay, but "only where necessary", or something along those lines? And also say that underscores are okay only in apgcode pnames and raw-RLE _synth articles? Underscores are a minor nightmare, because MediaWiki automatically converts them into spaces, and pnames really aren't supposed to include spaces. I'm reasonably sure that that underscore-to-space conversion is bound to cause coding difficulties somewhere sometime. But unless someone wants to recommend consistently using periods in place of underscores in apgcode pnames, I just don't see any good alternative.

Comments, suggestions, disagreements? Please post 'em here! Dvgrn (talk) 17:56, 15 January 2019 (UTC)

Also, not sure if anyone will find this note here, but gmc_nxtman's recent series of synthesis postings made for a good test case for reworking several pages recently updated by AwesoMan3000. It's been different changes for every article, but it tends to take a lot of fiddly adjustments to synchronize the pname, RLE, synthesis RLE, LifeViewer config, and any files already uploaded to the LifeWiki server.
I've done half a dozen articles for starters: very long snake, trans-block on long hook, integral with tub, eater head siamese eater tail, cis-block on long hook, and aircraft carrier with feather. LifeViewer generally Just Works once there's a raw RLE article with the right pname, but the images come out too small by default, so I've been adding viewerconfig THUMBSIZE 2. This should probably be a default added to the template, with SUPPRESS, except I don't know if that will change the looks of a lot of existing articles).
This leaves boat with long tail, beehive with nine, broken snake, cis-boat with nine, eater bridge eater, long boat tie ship, long shillelagh, ortho-loaf on table, snake siamese snake, snake with feather, snorkel loop, trans-boat on table, very long shillelagh, and sesquihat that still need editing to add the latest syntheses. I could definitely use some help with updating these:
  1. decide whether the pname should change to match the article name
  2. new synthesis copied from Talk:{name} to RLE:{pname}_synth, either updating or replacing any RLE that's currently there
  3. fix "synthesis = {n}" in infobox
  4. add to infobox:
    viewerconfig     = [[ THUMBSIZE 2 ]]
  5. remove Life1.05 and Life1.06 lines (optional)
  6. double-check that article name matches article text and Catagolue link -- there's often something wrong there
  7. add RLE:{pname} if it's not there already, to make LifeViewer show up instead of an old image file
A couple other tasks are admin-only --
  1. If pname has been changed, delete {old pname}*.rle from LifeWiki server to keep things in synch
  2. If Life1.05 and Life1.06 lines have been removed, delete corresponding files from server. (I'm leaving the "plaintext" (.cells) links, because I'm hoping to generate those automatically for all sub-64x64 patterns currently on the LifeWiki.)
  3. When a good break point is reached, re-run the auto-upload script and collect all the new pattern and synthesis RLE text into a ZIP file for bulk upload.
Here again, I'm leaving some broken links to pattern or synth files, which I'm planning to fix fairly soon (by putting the files back in place using the auto-upload script).
This is the kind of project where I'm very unlikely to get everything exactly right. Independent reviews of all this stuff will be greatly appreciated, and just let me know what I've done wrong so far. Dvgrn (talk) 12:33, 21 January 2019 (UTC)

Special pages broken?

I have noticed several oddities in a few of the maintenance pages:

Anyone know what's up with these? Ian07 (talk) 23:35, 15 January 2019 (UTC)

Rulespace info for eaters, reflectors, conduits, etc.

So lately I've been busy adding isorule parameters to the infoboxes for various patterns. So far I've stuck with oscillators, spaceships, still lifes, and infinite growth patterns, but I'd also like to expand this to other pattern such as conduits which are a bit more ambiguous. For example, the sidesnagger works in B/S23, but obviously there are no gliders for it to eat. I'm of the opinion that for these patterns we should show the rules they're actually useful in, since that's what makes them notable in the first place, (though with the possible exception of eater 1 since it's such a small pattern) but I'd like to hear others' thoughts on this. Ian07 (talk) 18:57, 19 January 2019 (UTC)

My main thought is that all but the very simplest and lowest-step-size conduits are very close to rule-specific -- useful only in B3/S23. Adding a B8 or an S8 might be one of the few isotropic bits where some conduits would survive the rule switch (?). Even if a particular conduit works in another rule, it's only interesting if a large enough group of conduits works in the alternate rule to make it computationally universal. (That would probably make it construction-universal, too, but only after someone re-did all the single-channel search work to produce new recipe libraries.)
Anyway, from my point of view the reason why B38/S23 or B3/S238 doesn't get a lot of attention is that there's nothing really new and exciting about those rules to make up for the fact that the rule spec is just that little bit more complicated... pun maybe intended. Dvgrn (talk) 02:04, 20 January 2019 (UTC)

apgsearch and Catagolue

Would anyone be opposed to a reorganization of the information on these two articles? I noticed that a lot of the information in the Catagolue article really applies more to apgsearch rather than the site itself, and therefore might be worth moving. Such a change would be particularly easy to revert if need be, but I'd rather not go through the effort if that's the case, so I'd also like some feedback about that. Ian07 (talk) 23:32, 19 January 2019 (UTC)

No opposition here. I wouldn't think anyone would be likely to revert changes to those articles, just the usual quick review to see if the changes happen to serve as a reminder of anything else that should be added. Dvgrn (talk) 02:04, 20 January 2019 (UTC)

Help Wanted with templates and general review

Here are three problems that I'd like to fix. I could probably track down the necessary template changes myself, eventually, but I'd like to have expert advice if I can get it. Both of these items have been sorta kinda mentioned on the Tiki Bar before, fairly recently:

1. I think THUMBSIZE 2 should be the default for all infobox LifeViewers. I keep adding #C [​[ THUMBSIZE 2 ]] to get infobox pattern frames back to the right size. There seem to be hundreds of these THUMBSIZE 2 specifications by now, but looking through a bunch of new aircraft-carrier-themed still lifes that AwesoMan3000 added recently (see links a few paragraphs up)... those all need the same addition done to them, and there are dozens or hundreds more existing articles that still have the same problem. The SUPPRESS command should follow THUMBSIZE 2, so that the relatively few viewerconfigs that specify THUMBSIZE 3 won't start throwing errors after the change is made.

2. As of this morning, Nathaniel has officially removed the Life 1.05 and Life 1.06 patterns from the LifeWiki patterns directory. That means the infobox template probably ought to be adjusted to stop showing those links. We could remove "|life105 = true // |life106 = true" from all the articles that have those infobox parameters instead, but only if someone wants to get a leg up on entry into the 10,000 Club.

The Life 1.0x patterns are still on the server, but hidden in a ZIP file. It seems to me that going forward, the way to make patterns available in non-standard non-RLE formats will be to publish conversion scripts that work on the contents of all.zip.

Anyway, there are some places in the infobox template documentation and other docs that mention Life 1.0x, which I can track down and fix eventually if no one else gets to it first.

3. Let's get rid of that dependency where you have to have rle = true or nofile = true before LifeViewer will show up -- as per Nathaniel's recent advice. Dvgrn (talk) 15:51, 25 January 2019 (UTC)

Okay, Nathaniel has done a bulk upload of 387 RLE files, collected by the auto-upload script for every article in the main namespace that referenced a pname and had RLE:{pname} and/or RLE:{pname}_synth articles in the RLE: namespace. That means that as of today, there should no longer be any broken RLE pattern download links (the ones that show up when you say rle = true in the infobox).
There shouldn't be a lot of broken synthesisRLE = true links, either, but those might happen if somebody set that flag to true but then didn't create the RLE:{pname}_synth article.
I'd suggest that people shouldn't go too wild uploading new glider syntheses, until the next version of Mark Niemiec's database comes out -- and maybe not even then. It would be nice to come up with direct dynamic links to synthesis patterns on Catagolue and/or in Mark's database, so that we don't always have slightly antiquated information copied from those places and uploaded to the LifeWiki pattern collection, where they're kind of hard to keep up to date.
I guess the next item to tackle is automatic generation of the plaintext = true .cells files for every article about a pattern that's 64x64 or smaller (let's arbitrarily say). Does anyone have suggestions for other checks and auto-updates that the uploader script might be able to accomplish? Dvgrn (talk) 04:25, 27 January 2019 (UTC)
@Ian07: Wow, that was a lot of fast Life 1.0x cleanup work. Thank you! I'll see if I can get a bulk upload done for .cells format soon, for all sufficiently small patterns (which is most of them). Then the LifeWiki will suddenly be following a standard policy on pattern formats, fairly universally across all articles. Dvgrn (talk) 20:49, 28 January 2019 (UTC)
I've just added THUMBSIZE 2 as a default option for the viewers to save myself some trouble. As for item #3 in your list, the solution probably in Template:InfoboxStart though I'd rather leave that to someone more experienced with templates. Ian07 (talk) 22:12, 13 February 2019 (UTC)

Replacing images with animated viewers

I just started on a project to add more animated viewers in place of static images on the wiki. However, I've already started running into some problems, particularly with the pushalongs in the 114P6H1V0 article. I already created an RLE:114p6h1v0pushalong, but I'm not sure how exactly the comments in the RLE:pname page get translated to the actual files, especially since files like block.rle have comments that aren't in the RLE namespace. I'm worried that I'll unintentionally remove said information from the wiki's pattern collection if I'm not careful.

I'm thinking it might be better for now to just focus on the infobox images and not worry about the rest of the article, especially considering the images in the article have colors and arrows and other things which might be lost with an animated viewer. I'd be perfectly fine with RLE:114p6h1v0pushalong being deleted for the time being so it doesn't replace 114p6h1v0pushalong.rle in the next bulk upload.

Even then, though, as with the Block example above, there's still comments in the original files that may or may not be overwritten since I don't know how bulk uploads work. I'd basically just like to know what precautions to take to make sure I don't break anything with this project before I proceed. Ian07 (talk) 16:06, 2 February 2019 (UTC)

All good questions. The main answer is that the auto-upload script is designed so that it never overwrites any files that are already on the LifeWiki server, so you don't have to worry about overwriting anything. Comments in block.rle are safe, and the addition of RLE:114p6h1v0pushalong won't damage the existing uploaded file on the server.
Now, if we deleted 114p6h1v0pushalong.rle from the server, and added these two comment lines at the top of RLE:114p6h1v0pushalong --
#O Hartmut Holzwart
#C A pushalong for the c/6 orthogonal period 6 spaceship 114P6H1V0.
- then the auto-upload script would regenerate a fairly close copy of the file that we deleted. The #N line would be a little different since the default is now {pname}.rle, and the script produces two URL lines instead of just one: a link to the article followed by a direct link to the (future location of the) file itself on the LifeWiki server.
So far I've always looked through the RLE files produced by the script, and hand-edited anything that didn't come out quite right -- order of comment lines, etc. That's probably a tradition that I'll continue, so that's another line of defense against accidental damage. With any luck the next run won't be quite so much work, as long as no one goes back to uploading new headerless RLE or other nonstandard stuff that the script doesn't know how to clean up.
See also User_talk:AwesoMan3000#Standardization_of_comment_lines for a summary of what should, or could, still be included in comment lines, versus what is auto-generated. Maybe after that summary gets a good trial run, I can migrate it into the actual documentation. It will be strange and wonderful for a new LifeWiki editor to actually have a reasonable way to learn how to add new articles with associated LifeViewer-displayed patterns... the docs have been partly stuck in 2009 ever since, well, 2009 I suppose! Dvgrn (talk) 04:07, 3 February 2019 (UTC)
One more detail that isn't clear from the above:
The auto-upload script will automatically generate a slightly nonstandard #O line including both the discoverer and the discoveryear from the infobox -- like
#O Paul Tooke, 2008
for the 114p6h1v0 article. But that only works for patterns that have infoboxes. Other patterns may also have pnames, but only show up in embedded viewers in some other article. In those cases the script can't be sure that the discoverer or discoveryear will be correct, so it will just leave that optional line out.
Theoretically we could invent some standard way to include attributes in an embedded viewer template to convey that information. But since those attributes aren't actually used by LifeViewer it seems just as easy to make a habit of adding a comment line to the RLE.
For example, adding "#O Hartmut Holzwart, May 2009" to RLE:114p6h1v0pushalong would convey slightly more information (month as well as year) than the auto-upload script manages to collect for main-article patterns. Dvgrn (talk) 04:19, 3 February 2019 (UTC)
Just looked over the first batch of patterns added to the RLE namespace for the convert-static-images-to-LifeViewer project. Everything looks pretty workable. I think I'll adjust the auto-upload script to skip the generation of an #O line if there's one in the RLE already. Usually what's in the RLE will be a more specific date than what the script can produce from the discoveryear parameter.
Maybe I should change the script to find the "name" parameter if there is one, and use that instead of {pname}.rle in the #N line? It's kind of weird having ".rle" as part of the defined name. The problem is, there isn't a name= line in embedded viewers, but there is a pname= line, and I wanted some information in that first line that could be collected consistently. (?)
The only other thing I noticed offhand is that a few RLE files ended up getting comment lines with links: for example, RLE:151p3h1v0 has
#C http://www.conwaylife.com/wiki/index.php?title=233P3H1V0
There's a shorter form that works just as well:
http://www.conwaylife.com/wiki/233P3H1V0
But really I don't think there's any need to add article or pattern links to the RLE namespace. They'll get generated and added automatically by the auto-upload script. If you're actually looking at an RLE file in the RLE namespace, and wondering which article it goes with, then it's pretty quick to click the "What links here" link in the sidebar to find that out, instead of copying and pasting part of a comment line.
Based on experience so far, does there seem to be anything else that really ought to be adjusted for this whole conversion / auto-upload process? Dvgrn (talk) 22:54, 3 February 2019 (UTC)
Oh, one more minor thing: looking at LifeWiki articles with lots of LifeViewers on them, I'm starting to think that there might be such a thing as too much animation sometimes. If the infobox has an animated spaceship or oscillator in it, it might make sense to leave out AUTOSTART on (some?) embedded viewers in the actual article. It can be nice to have something on the page that isn't moving -- or to be able to open in LifeViewer and step through a pattern one tick at a time, without having to disable AUTOSTART first. Dvgrn (talk) 23:12, 3 February 2019 (UTC)
I haven't had any other problems so far, though of course I've only just started this project and have only gotten through around 1% of all the articles. As for the comment lines in RLEs, I'll try and be more consistent with them from here on out. (will double-check the ones I've already made to see if there's anything that should be added or removed) And yeah, I do agree that too many auto-started viewers looks very cluttered, so here's a rule of thumb I'm probably going to use: there should be no more than three AUTOSTART viewers in close proximity to each other. Thoughts? Ian07 (talk) 23:50, 3 February 2019 (UTC)
Fine by me. I've been thinking two animated viewers at once is usually enough action, but it depends on the article. Just maybe something to keep in mind a little bit. Dvgrn (talk) 01:33, 4 February 2019 (UTC)