Difference between revisions of "LifeWiki:Tiki bar"

From LifeWiki
Jump to navigation Jump to search
(224 intermediate revisions by 18 users not shown)
Line 8: Line 8:
Wikipedia has the [https://en.wikipedia.org/wiki/Wikipedia:Village_pump Village pump], Wiktionary has the [https://en.wiktionary.org/wiki/Wiktionary:Beer_parlour 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! [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 11:09, 13 June 2016 (UTC)
Wikipedia has the [https://en.wikipedia.org/wiki/Wikipedia:Village_pump Village pump], Wiktionary has the [https://en.wiktionary.org/wiki/Wiktionary:Beer_parlour 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! [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 11:09, 13 June 2016 (UTC)


==[[LV:Viewer]]==
==Archived discussions==
Thanks to [[User:Nathaniel]]'s and [[User:rowett|Chris Rowett]]'s efforts, the LifeViewer applet's now available on the LifeWiki:
:''Note: active discussions are never archived while still active.''


<center>{{LV:Viewer|2bo4bo2b$2ob4ob2o$2bo4bo}}</center>
* 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.


So how do we best integrate this into our existing articles? Ideally I'd like for all articles on spaceships, oscillators, guns etc. to have (at least) one of these so people can easily see patterns in action; but I'd also like for the result to look good. Simply embedding the viewer applet, like I did [http://conwaylife.com/w/index.php?title=Copperhead&oldid=25306 here] on [[Copperhead]], works, but it isn't very pretty.
== The list(s) of rules investigated on Catagolue ==


Since we already have infoboxes for pattern, it would be natural to reuse those. Embedding the viewer applet may make them too wide, but we could introduce an extra section (akin to "Rules", "Glider Synthesis" etc). Alternatively, we could add a second tab at the top of the box, allowing the user to switch between a static image and a viewer applet.
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.)


For specifying an object's RLE code, we could introduce a new infobox template parameter. However, that might get unwieldy with large patterns, so instead I'd suggest introducing a new namespace, <tt>RLE:</tt>, using the <tt>pname</tt> infobox parameter as the page title. To wit: since [[Copperhead]]'s pname is <tt>copperhead</tt>, its RLE page would be called [[RLE:copperhead]] and would contain only its RLE code, <tt>b2o2b2o$3b2o$3b2o$obo2bobo$o6bo2$o6bo$b2o2b2o$2b4o2$3b2o$3b2o</tt>. This would keep pattern pages from ballooning in size, as well as make it easier to edit RLE codes. It could even be used to auto-generate downloadable pattern files in the future.
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)


Thoughts? [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 11:09, 13 June 2016 (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:


:It would be nice if it came in a new Infobox section. Of course, with a [show] button on it so it doesn't clutter everything up, and when it is shown it should be scaled down a bit as to not stretch the infobox.
: "This page is no longer actively maintained in favour of the [https://catagolue.appspot.com/rules equivalent Catagolue page]."


:Another idea would be to add it as an external link, similarly to the "View animated image" link. Is could either direct to a blank page with just the LifeViewer applet, or make it pop up like on the forums.
: or words to that effect?


:Finally, we could dedicate a section to it. Since slapping it at the start of the page is kind of unsightly, it might be better if it (or a scaled down version of it) was placed in the Gallery section.
: 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)


-[[User:AwesoMan3000|AwesoMan3000]] ([[User talk:AwesoMan3000|talk]]) 12:20, 13 June 2016 (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). [[User:77topaz|77topaz]] ([[User talk:77topaz|talk]]) 23:51, 7 January 2019 (UTC)


:: The idea that's been floating around in my head is to keep the static images as the "main" images in the infoboxes still, but add a second link (either above or below the current "View Animated Image" link) that says something like "Show in Viewer", and opens a LifeViewer overlay akin to the forums. But if people would prefer having a (smaller) LifeViewer right in the infobox, we can go that route too. Also, using a new RLE: namespace to store the RLE code seems like a great idea. [[User:Nathaniel|Nathaniel]] ([[User talk:Nathaniel|talk]]) 12:57, 13 June 2016 (UTC)
== Time for a consensus decision on pnames? ==


::: I agree that it's often good to start with a static image in the info box, and link from there. It's also nice to be able to define a waypoint animation that illustrates some particular use of a pattern -- a slow-motion loop showing a buckaroo reflecting a glider, or whatever.  In that case it might be better to have the viewer inline, and maybe even started automatically with AUTOSTART, making it a higher-function equivalent of an animated GIF.
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.


:::But maybe in many of these cases the viewer could be initially minimized with the THUMBNAIL tag, so it doesn't take up too much space unless a user wants a closer look?  I haven't discovered how to make waypoints or tags work yet.  Also, here's a mystery for y'all:  why does the image below show a glider instead of a pentadecathlon, if I include a standard RLE header line? (Mystery solved, see below.)
The [[LifeWiki:Pattern_pages|guidelines for creating pnames]] say very clearly:
<pre>pname (required) The name of the pattern being described, but converted to lowercase and with all non-alphanumeric characters and spaces removed.</pre>


<center>{{LV:Viewer|x = 10, y = 3
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:
2bo4bo2b$2ob4ob2o$2bo4bo!
#C [[ THUMBNAIL AUTOSTART GPS 2 ZOOM 30 ANGLE 45 THEME 4 WIDTH 480 HEIGHT 600 ]]}}</center>
:::Also, unrelated -- is it possible to embed the viewer in a way that allows text to flow around it to the left or right? [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 13:41, 13 June 2016 (UTC)


:::: Ah! The pentadecathlon/glider issue is caused by the RLE code starting with "x=". MediaWiki interprets this not as "make the first parameter 'x = 10, y = 3, ...'", but rather as "make the x parameter '10, y = 3, ...'". I'll try to get a workaround for this and the tags not working. [[User:Nathaniel|Nathaniel]] ([[User talk:Nathaniel|talk]]) 14:00, 13 June 2016 (UTC)
# '''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.


::::: Both issues are now fixed. To make text float around a Viewer, it might be easiest to put a floating DIV around it like this (view this page's source code):
* [[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.
<div style="float:left; padding-right:5px;">{{LV:Viewer|x = 10, y = 3
2bo4bo2b$2ob4ob2o$2bo4bo!
#C [[ THUMBNAIL ]]
#C [[ AUTOSTART GPS 10 ]]}}</div> This is a LifeViewer that floats to the left of its text.
::::: [[User:Nathaniel|Nathaniel]] ([[User talk:Nathaniel|talk]]) 14:31, 13 June 2016 (UTC)
::::::: Looks good!  I've adjusted my example to try some other LifeViewer script tags, and everything seems to work now.  You can hit 'N' to get back to a thumbnail view after a viewer has been expanded. Is there an obvious way to clue in new users about keyboard shortcuts like this?  Maybe it's simpler to just expect people to refresh the page when they want to reset the viewers.
<div style="clear:both" \>
<br \>
::: A '''div style="clear:both"''' tag stops the text from flowing around the viewer panel, for a paragraph that starts a new topic, like this.
::: Might it be a good idea to put in a warning or a placeholder for LifeViewer, when a browser is non-HTML5-compatible?  I tried turning Javascript off in Chrome just now, and the viewer panels disappeared completely, with no sign that there was supposed to be anything there. [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 15:26, 13 June 2016 (UTC)


:::: Has anyone considered my ideas yet?
* 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.
:::: My personal favourite is the basic link one, as it takes up a lot less space. However, embedding the viewer into a new section on the infobox definitely seems like the fanciest idea.
::::: I've also created three pages under the RLE namespace, namely for the three elementary spaceships which don'r link to an RLE.
- [[User:AwesoMan3000|AwesoMan3000]] ([[User talk:AwesoMan3000|talk]]) 17:16, 13 June 2016 (UTC)


[[File:Copperhead infobox mockup.png|right]]
====Capitalization Bad====
:I like the idea of putting a link in the infobox that'll pop up a viewer applet when clicked best. I made a mockup of this, shown on the right &mdash; the links a bit larger and bolder so it'll stand out to people (<tt>font-size: larger; font-weight: bold</tt>). Clicking this link would then create an overlay on the page with the viewer applet so people could play with the pattern; pressing Escape should close the applet again.
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.


:Of course there needs to be a graceful fallback for users who have Javascript disabled, as Dvgrn has pointed out. I think the easiest way to achieve that would be to:
====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.


:# Create a new page in the <tt>LifeWiki:</tt> or perhaps <tt>Help:</tt> namespace explaining that the viewer applet will only work with Javascript
-- 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.)
:# Have the "View in LifeViewer" link point to that by default, and
:# Use Javascript to change the target of said link dynamically (so that if it's not enabled, the link would keep pointing to the explanatory page).


:Alternatively the link could be inserted using Javascript in the first place, but the downside would be that users who have Javascript disabled would not become aware that there is a LifeViewer applet in the first place.
====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.


:Regarding the <tt>RLE:</tt> namespace: so far it's not a proper namespace but rather a title prefix that pages in the main namespace happen to have. If we want to move ahead with this I'd suggest we have Nathaniel add the namespace to the wiki's configuration, and only then begin creating RLE: pages.
Comments, suggestions, disagreements? Please post 'em here! [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 17:56, 15 January 2019 (UTC)


:It may be worth semi-protecting the entire namespace so only autoconfirmed users can edit it by default, but it may equally well be unnecessary.
: 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.


:Either way, once we have it set up, we can start adding RLE snippets there. This would then allow us to automatically include links using <tt><nowiki>{{#ifexist:}}</nowiki></tt> and <tt>?action=raw</tt>, without sysops having to manually add RLE files for patterns (same for glider synthesis RLE snippets, of course). I imagine one could also write a MediaWiki extension that could be used to automatically convert RLE patterns to Plaintext, Life 1.05 and Life 1.06 format, if desired; this would give automatically give us all patterns in all file formats. (That said, is anyone still using those?)
: 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).


:The only downside I can see is that there wouldn't be a handy way of compiling the collection of all pattern files that's linked on the Main Page anymore. But Nathaniel could presumably set up a cron job that goes through [[:Category:Patterns]] to collect all the files. (Alternatively, perhaps it would be possible to have every edit in the RLE mainspace reflected in a matching RLE file outside the wiki so the cron job would only have to collect those in a zip file.)
: 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:
# decide whether the pname should change to match the article name
# new synthesis copied from '''Talk:{name}''' to '''RLE:{pname}_synth''', either updating or replacing any RLE that's currently there
# fix "synthesis = {n}" in infobox
# add to infobox: <pre>viewerconfig    = [[ THUMBSIZE 2 ]]</pre>
# remove Life1.05 and Life1.06 lines (optional)
# double-check that article name matches article text and Catagolue link -- there's often something wrong there
# add '''RLE:{pname}''' if it's not there already, to make LifeViewer show up instead of an old image file


:Finally, regarding instructions for the LifeViewer &mdash; there ''is'' a Help Button, but if we're going to go the overlay route we could just as well include the most useful keys in the overlay. [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 20:52, 13 June 2016 (UTC)
: A couple other tasks are admin-only --
<div style="float:right; padding-left:5px;">{{LV:Viewer|b2o2b2o$3b2o$3b2o$obo2bobo$o6bo2$o6bo$b2o2b2o$2b4o2$3b2o$3b2o!
# If pname has been changed, delete {old pname}*.rle from LifeWiki server to keep things in synch
#C [[ THEME 6 GRID COLOR GRID 229 229 229 COLOR GRIDMAJOR 229 229 229 ]]
# 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.)
#C [[ AUTOSTART GPS 5 ZOOM 32 Y -6 THUMBNAIL LOOP 120 HEIGHT 800 ]]}}</div>
# 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.
::I like the infobox LifeViewer link idea -- it keeps the page from looking too full busy when it's first loaded.
::That said, I tried some experimental changes to the [[Copperhead]] article to reduce the visual impact of the viewer. The version there has no gridlines turned on.  With a few more script tags we can match the color of the LifeWiki's usual gridlines fairly well -- see the viewer at right. [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 15:45, 14 June 2016 (UTC)


::: I made just some minor changes to match things to our static images a bit more. I like it --- we could have the thumbnail LifeViewer be used by default, but if Javascript is disabled, it will fall back to the regular static image. One thing though -- is there a way to specify width/height of the thumbnail in LifeViewer? If not, I'd like to bug Chris to add that feature. [[User:Nathaniel|Nathaniel]] ([[User talk:Nathaniel|talk]]) 16:21, 14 June 2016 (UTC)
: 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).
<div style="float:right; padding-left:5px;">{{LV:Viewer|b2o2b2o$3b2o$3b2o$obo2bobo$o6bo2$o6bo$b2o2b2o$2b4o2$3b2o$3b2o!
#C [[ THEME 6 GRID COLOR GRID 229 229 229 COLOR GRIDMAJOR 209 209 209 ]]
#C [[ AUTOSTART GPS 5 ZOOM 32 THUMBNAIL T 98 LINEAR Y Y -10 LOOP 99 HEIGHT 800 ]]}}</div>
:::: The thumbnail view in LifeViewer is always a quarter of the full size. You can specify the full size with the WIDTH and HEIGHT script commands. I've also posted a slightly different way of animating the Copperhead using a LINEAR waypoint. [[User:rowett|rowett]] ([[User talk:rowett|talk]]) 16:49, 14 June 2016 (UTC)
::::: Ah OK, thanks! In that case, could we increase the maximum width/height a bit? As-is, thumbnails can't be larger than 120 pixels wide, and it'd be nice to go up a bit higher than that (e.g., the current static image of copperhead is 161 pixels wide). [[User:Nathaniel|Nathaniel]] ([[User talk:Nathaniel|talk]]) 17:03, 14 June 2016 (UTC)
:::::: My worry would be that if the thumbnail goes much larger, the full-sized LifeViewer will be much bigger than anyone really wants.  These Copperhead thumbnails are already slightly annoying on my laptop screen, because the bottom of the viewer tends to end up scrolled off the screen, and the first click on the frame ends up recentering the LifeViewer instead of interacting with it.  As soon as the full-size viewer is taller than the average user's screen, the problems get much worse... What if the thumbnail and full frame sizes were configurable independently, defaulting to quarter-size?
:::::: I really like the moving-grid-lines Copperhead! [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 17:11, 14 June 2016 (UTC)
::::::: The default size of a full-size LifeViewer is 480x480. This can be overridden by the WIDTH and HEIGHT script commands. For width the minimum is 480 and maximum is 1024. For height the minimum is 240 and maximum is 800. With an appropriate meta setting in the webpage LifeViewer is running in you can get it to set its width to the width of the text area containing the pattern rle (this is how it works on the forum) but it will still respect the minimum and maximum width. I'm happy to add a new script command to allow a custom thumbnail divisor to be specified. [[User:rowett|rowett]] ([[User talk:rowett|talk]]) 18:22, 14 June 2016 (UTC)
:::::::: Added a new script command THUMBSIZE to specify the divisor. Value can be 2, 3 or the default 4. An example can be seen [http://lazyslug.no-ip.biz/lifeview/plugin/thumbnail.html here]. [[User:rowett|rowett]] ([[User talk:rowett|talk]]) 19:02, 14 June 2016 (UTC)
::::::::: That's perfect, thanks Chris! [[User:Nathaniel|Nathaniel]] ([[User talk:Nathaniel|talk]]) 19:05, 14 June 2016 (UTC)
::::::::::Are these thumbnails going to appear on other pages like they do on the Copperhead page? Because personally I'm not that much of a fan of that. - [[User:AwesoMan3000|AwesoMan3000]] ([[User talk:AwesoMan3000|talk]]) 20:09, 14 June 2016 (UTC)


:Oh, I like the compact viewers that Dvgrn and rowett embedded above! And I agree with AwesoMan3000, the one [http://conwaylife.com/w/index.php?title=Copperhead&oldid=25567 currently] embedded in [[Copperhead]] isn't perfect yet, both due to the lack of gridlines (I just think it's less pretty that way) and the placement.
: 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)


:I'd still prefer to have it embedded in the infobox, either as a (small) viewer or as a link as in the above mock-up. I'd give it a try, but ordinary users lack the ability to fiddle with Javascript on-wiki, of course (and in my case that's probably for the best ;)).
==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.


:FWIW I think we should continue providing static and animated images in addition to the embedded viewer applet as well; these are very useful to third parties. That said perhaps in a distant future these could be auto-generated from the pattern's RLE snippet as well. [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 11:02, 15 June 2016 (UTC)
Anyone know what's up with these? [[User:Ian07|Ian07]] ([[User talk:Ian07|talk]]) 23:35, 15 January 2019 (UTC)


:: Just so that we are all on the same page, here is what I'm currently thinking as far as the infobox/LifeViewer goes (of course feel free to say yay/nay to any/all of this). (1) For users with JS enabled, where the static image currently is displayed, a LifeViewer thumbnail will instead be displayed, in roughly the same size/formatting as the static image. For users without JS enabled, a static image will be displayed instead, just like the current set-up. And of course, for patterns like still lifes, we can just keep using static images period. (2) Clicking on the LifeViewer thumbnail will not "expand" the LifeViewer, but will instead open a LifeViewer overlay that is separate. The advantage of this is that it doesn't expand the infobox (which will look terrible and mess with page formatting) and it is easier to close due to having an X at the top-right. The disadvantage is that I have to poke Chris (thoughts Chris?) on whether this is even possible (and if it *is* possible, whether it's easy to do).
==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)


:: And as a side-note, yes, for security reasons only sysops (i.e., myself, codeholic, dvgrn, and Sokwe) have the ability to insert raw HTML/Javascript into templates, so most of these templates can't be made/altered by others. But once these templates get set-up, regular users will be able to use them just like any other templates. [[User:Nathaniel|Nathaniel]] ([[User talk:Nathaniel|talk]]) 12:15, 15 June 2016 (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.)


::: How would it discern between JS users and not?
: 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)
::: Also, how would it know what RLE to load? Are we going to go ahead with this RLE:patternname namespace thing? And would this override the RLE link in the Pattern files infobox section? - [[User:AwesoMan3000|AwesoMan3000]] ([[User talk:AwesoMan3000|talk]]) 12:30, 15 June 2016 (UTC)


:::: There are (relatively straightforward) ways to detect whether or not a browser will display Javascript -- that's something I will take care of on my end, and will just happen automatically as far as users and wiki editors are concerned. The RLE would indeed be loaded from the RLE: namespace. For now, this will *not* override the RLE link in the pattern files infobox section, but once enough RLE codes have been uploaded in the RLE: namespace, that's something we could look at. I suppose one thing I could do is make it so that, if a pattern does not have a proper RLE file, it at least auto-generates a link to its RLE: namespace in the pattern files section of the infobox. [[User:Nathaniel|Nathaniel]] ([[User talk:Nathaniel|talk]]) 12:44, 15 June 2016 (UTC)
==[[apgsearch]] and [[Catagolue]]==
::: Added new script command THUMBLAUNCH which changes thumbnail behaviour so when clicked on it Launches the popup viewer rather than Expanding. You can see this working [http://lazyslug.no-ip.biz/lifeview/plugin/thumbnail.html here]. Note you may need to refresh your browser. The first thumbnail on the page should say "Launch" when you mouseover. [[User:rowett|rowett]] ([[User talk:rowett|talk]]) 14:14, 15 June 2016 (UTC)
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)
:::: You make me so happy Chris. [[User:Nathaniel|Nathaniel]] ([[User talk:Nathaniel|talk]]) 15:23, 15 June 2016 (UTC)


::::: I uploaded the newest build of LifeViewer. Unfortunately, the LifeViewer popping out gets stuck behind most of the MediaWiki page (click the following example and scroll to the top of the page to see what I mean). Chris -- is this something you can fix on your end? [[User:Nathaniel|Nathaniel]] ([[User talk:Nathaniel|talk]]) 21:25, 15 June 2016 (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. [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 02:04, 20 January 2019 (UTC)
{{LV:Viewer|b2o2b2o$3b2o$3b2o$obo2bobo$o6bo2$o6bo$b2o2b2o$2b4o2$3b2o$3b2o!
#C [[ THEME 6 GRID COLOR GRID 229 229 229 GRIDMAJOR 0 THUMBLAUNCH THUMBSIZE 3 AUTOSTART GPS 5 ZOOM 32 THUMBNAIL T 98 LINEAR Y Y -10 LOOP 99 HEIGHT 800 WIDTH 483 ]]}}
:::::: Yes, fixed in [http://lazyslug.no-ip.biz/lifeview/plugin/js/lv-plugin.js build 191]. It just needs some CSS for the title bar. You no longer need to specify THUMBNAIL if you're using THUMBLAUNCH. Also no need to specify the GRID COLOR, it defaults to the correct one when the background is light. [[User:Rowett|Rowett]] ([[User talk:Rowett|talk]]) 05:33, 16 June 2016 (UTC)


:Nathaniel -- yes, I agree that for JS users, replacing the current static image with a (thumbnailed) LifeViewer applet is a good idea. I've gone ahead and made a change to [[Template:Spaceship]] (which, conveniently, can be edited by trusted users, as opposed to other pattern templates that are fully protected) to handle this.
== Pattern collections ==


:[[Copperhead]] shows this in action. The RLE snippet lives in [[RLE:copperhead]], as discussed above; so far that's a page called "RLE:copperhead" in the Main namespace, rather than a page called "copperhead" in the <tt>RLE:</tt> namespace. If we decide to add that new namespace and move pages over, [[Template:Spaceship]] will require a very minor tweak: the first colon in <tt>{{:RLE:{{{pname}}}}}</tt> will have to be removed.
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."


:If a ship does not have an associated RLE snippet, the static image will be shown in the infobox, as before. This means we can transition spaceship articles at our leisure and convenience.
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.


:Embedded LifeViewer applets can be configured using [[Template:LifeViewer config/spaceship]]. If a pattern-specific configuration template exists (<tt><nowiki>Template:LifeViewer config/{{{pname}}}</nowiki></tt>), e.g. [[Template:LifeViewer config/copperhead]], that will be used instead. This allows us to have sane defaults while still tweaking individual pages as necessary, all while keeping clutter (LV configuration settings) out of the articles themselves.
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.


:Finally I've also modified the infobox so it includes a link to the static image, if one exists.
-- 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)


:What's left to do:
: 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?


:# Tweak the viewer applet so the overlay will be displayed.
: 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)
:# Handle non-JS users and show them the static image instead of the viewer applet. (I would also suggest including a message along the lines of "Please enable Javascript to see the LifeViewer applet" -- they might not realize they're missing out otherwise!).
:# Do the same work for other pattern templates, notably [[Template:Oscillator]] (this one ''is'' fully protected, so I can't edit it).


:[[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 10:05, 16 June 2016 (UTC)
:: 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?


:: I added one for [[Loafer]], but as you can see it scrolls the wrong way. - [[User:AwesoMan3000|AwesoMan3000]] ([[User talk:AwesoMan3000|talk]]) 11:14, 16 June 2016 (UTC)
:: 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)


:::Adjust [[Template:LifeViewer config/loafer]] (based on [[Template:LifeViewer config/spaceship]]). [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 11:16, 16 June 2016 (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.


::::What exactly do I have to put in? Like, how do I determine which way it scrolls and how fast? It would be much more convenient "followed" the pattern by default (think there's a button for that). - [[User:AwesoMan3000|AwesoMan3000]] ([[User talk:AwesoMan3000|talk]]) 11:19, 16 June 2016 (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)


:::::I don't know enough about LifeViewer's configuration parameters (yet) to answer that, but you may want to take a look at the documentation etc. [http://lazyslug.no-ip.biz/lifeview/plugin/ here]; there's bound to be some explanation of the parameters somewhere. Otherwise I'd suggest holding off on adding RLE snippets for now. We're in no rush to add these, after all.
:::: The missing small files that were flagged as "too big" seem to have been mostly due to patterns with no header lines in the RLE namespace. I think I've fixed all of those now. A few such files managed to get themselves uploaded to the LifeWiki server, but the auto-upload script now reports those when it sees them, so I think those are all cleaned up now also.


:::::I'm furthermore not sure that storing configuration for the viewer in a separate template is actually useful. There are two reasons I did this:
:::: As before, if anyone wants to add "plaintext = true" to the many articles where that's missing, please go right ahead.  The latest auto-upload script report has been added to [[User:Dvgrn/Plaintext files]], so the dump of newly added .cells files there can be used as a checklist. There's also the option of adding plaintext file links to embedded viewers as appropriate. I did a couple of samples, e.g., [[68P9]] -- it's pretty easy.  It should always be just a matter of adding this to the caption:
<pre>[http://www.conwaylife.com/patterns/{pname}.rle RLE format]
[http://www.conwaylife.com/patterns/{pname}.cells Plaintext format]<br /></pre>
:::: Maybe this is something that should be done with a template, to make things even easier?


:::::# Make it possible to have (easily-edited) default parameters if none are specified.
:::: The script now also checks for pnames with uppercase letters and complains about that. I don't think there are any of those at the moment. If anyone sees other problems or oddities that the auto-upload script should be catching but isn't, or if there are any other surveys or reports that it should do while it's running through all the articles anyway, please make suggestions here. [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 15:09, 27 March 2019 (UTC)
:::::# Avoid cluttering the RLE itself with viewer configuration comments, seeing as how we might use it for auto-generated downloadable RLE files later.


:::::But perhaps this isn't ideal. We're still in the brainstorming/experimenting phase after all, trying to figure out how to make things work best. So let's finish figuring that out before we do a lot of work that we may later have to undo. ;)
::::: I just modified [[Template:EmbedViewer]] to link to the RLE and Plaintext automatically. The biggest problem with this, of course, is the larger patterns don't have a plaintext file. I'm not sure how to elegantly deal with this, unless there's a way to make it read the RLE header and find the pattern size or something. [[User:Ian07|Ian07]] ([[User talk:Ian07|talk]]) 19:55, 27 March 2019 (UTC)


:::::Another tip: the name of the RLE snippet has to match the <tt>pname</tt> from the spaceship infobox template, so e.g. [[Lobster (spaceship)|Lobster]]'s snippet should be at [[RLE:83p7h1v1]], not [[RLE:lobster]]. [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 11:23, 16 June 2016 (UTC)
== Help Wanted with templates and general review ==
::::::The only documentation currently available is in LifeViewer itself, press Help and then scroll down to the Commands section. Here's a brief explanation of the commands used for the Copperhead animation:
::::::THEME 6 GRID COLOR GRID 229 229 229 GRIDMAJOR 0 THUMBLAUNCH THUMBSIZE 3 AUTOSTART GPS 5 ZOOM 32 THUMBNAIL T 98 LINEAR Y Y 10 LOOP 99 HEIGHT 800 WIDTH 483
::::::*THEME 6 - sets a colour theme (black on white background)
::::::*GRID - switches on the grid display
::::::*GRID COLOR 229 229 229 - sets the RGB value for the grid lines (no longer needed since light background themes now use this grid colour)
::::::*GRIDMAJOR 0 - disables major gridlines
::::::*THUMBLAUNCH - tells LifeViewer to start as a thumbnail and launch the popup viewer when clicked
::::::*THUMBSIZE 3 - defines the size divisor for the thumbnail
::::::*AUTOSTART - tells LifeViewer to start playback automatically
::::::*GPS 5 - defines the number of generations per second for playback
::::::*ZOOM 32 - defines the camera zoom
::::::*THUMBNAIL - tells LifeViewer to start as a thumbnail and expand inline when clicked (not needed when THUMBLAUNCH used)
::::::*T 98 - defines a waypoint at generation 98, any of X, Y, ANGLE and ZOOM commands following define the target
::::::*LINEAR Y - tells LifeViewer to use Linear (rather than the default Bezier) interpolation for the camera for this (and future waypoints) for just the Y axis (could also specify Y, ZOOM or ALL here)
::::::*Y 10 - defines the waypoint target Y coordinate
::::::*LOOP 99 - tells LifeViewer to reset back to generation 0 when it gets to generation 99
::::::*HEIGHT and WIDTH - sets the size of the full size LifeViewer, does not change the popup viewer which is fixed size
::::::So in this case the camera moves from X = 0, Y = 0 (the default reset position) to X = 0, Y = 10 by generation 98 and then loops. If you wanted to go right to left you'd use LINEAR X and then set some X value. Diagonally you'd probably use LINEAR ALL and set both X and Y. You can also specify multiple waypoints by using the T command more than once. Additionally if you want the camera to pause for a time at the current position you can use the PAUSE command. More commands in the built-in help. Check out [http://lazyslug.no-ip.biz/lifeview/plugin/waypoints.html this] example. [[User:Rowett|Rowett]] ([[User talk:Rowett|talk]]) 11:55, 16 June 2016 (UTC)


:::::::Hah, excellent example! I didn't know LifeViewer was so advanced, that's awesome! And thanks for the explanation of the commands. Sounds like we need to add [[Help:LifeViewer]] or so to our documentation. [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 12:13, 16 June 2016 (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 it. Both of these items have been sorta kinda mentioned on the Tiki Bar before, fairly recently:


:::::::: I have now added the non-Javascript functionality so that a pattern's static image is instead displayed for users who have Javascript disabled. Note that if you manually disable Javascript in Chrome, you will need to refresh the page about 2 times before things display properly (this is a bug in Chrome and unfortunately there's nothing I can do about it). [[User:Nathaniel|Nathaniel]] ([[User talk:Nathaniel|talk]]) 13:11, 16 June 2016 (UTC)
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.


::::::::Two other waypoint examples can be seen [http://lazyslug.no-ip.biz/lifeview/plugin/name.html here] and [http://lazyslug.no-ip.biz/lifeview/plugin/veryhappy.html here]. [[User:Rowett|Rowett]] ([[User talk:Rowett|talk]]) 13:15, 16 June 2016 (UTC)
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.


::::::::Nathaniel you'll need to not only style the title bar of the popup viewer but also adjust some of the other portlets which use z-index (specifically p-personal (the top menu) and p-search (the left search box)). They both have a z-index 3 style set which means the popup viewer floats under them not above. I removed their z-index on a local test page and it doesn't appear to have broken anything else. [[User:Rowett|Rowett]] ([[User talk:Rowett|talk]]) 15:23, 16 June 2016 (UTC)
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.


::::::::: I've removed z-index:3 from those two menus like you suggested. I'm being dense though -- what CSS needs to be added to the title bar of the popup viewer? [[User:Nathaniel|Nathaniel]] ([[User talk:Nathaniel|talk]]) 18:56, 16 June 2016 (UTC)
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.


::::::::::You may notice on this page the popup has a transparent background to the LifeViewer title bar. Also on the [[Copperhead]] page the popup has a title bar that's about 1 pixel high. These are both caused because on the forum LifeViewer inherits styling for the title from the forum CSS (which doesn't exist here). I've created [http://lazyslug.no-ip.biz/lifeview/plugin/js/lv-plugin.js build 192] which may fix the problem. [[User:Rowett|Rowett]] ([[User talk:Rowett|talk]]) 19:14, 16 June 2016 (UTC)
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)


:::::::::: Works perfectly now, thanks! [[User:Nathaniel|Nathaniel]] ([[User talk:Nathaniel|talk]]) 19:46, 16 June 2016 (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).


:Excellent, thanks for unprotecting [[Template:Oscillator]], Nathaniel. I've updated it and successfully used it on [[Pentadecathlon]], so now oscillators can have embedded LifeViewers as well. [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 16:55, 16 June 2016 (UTC)
: 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.


:: Thanks. I've tweaked the templates so that Template:LifeViewer_config/oscillator now contains general parameters that should be used for *all* oscillators (e.g., grid color) and Template:LifeViewer_config/pentadecathlon contains only those parameters specific to that oscillator (e.g., width/height/generations per second). In fact, what would you think about taking the information in Template:LifeViewer_config/pentadecathlon and just plopping it into another parameter in the Oscillator template? That seems like a less confusion set-up to me, and that way we don't need to create two pages for every new oscillator. [[User:Nathaniel|Nathaniel]] ([[User talk:Nathaniel|talk]]) 17:45, 16 June 2016 (UTC)
: 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.


:::Sounds good to me; and it'll certainly make it easier for new contributors to find where those settings are tweaked. A new <tt>viewerconfig</tt> parameter, then?
: 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)


:::Speaking of which, I've also cleaned up the way the infobox template is included in [[Pentadecathlon]] for the sake of readability, BTW. The same should eventually be done for other pages as well. I'll add it to my ever-growing lists of tasks. :P
:: @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)


:::And of course should modify [[Template:Spaceship]] as well once we're happy with [[Template:Oscillator]] then. And of course guns and other such patterns could get a LifeViewer, too ([[Template:Stillife]] probably doesn't need it). [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 18:25, 16 June 2016 (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)


::::: Thanks for cleaning up the infobox template -- I agree that it should be done on other pages too. I've added the viewerconfig parameter to the Oscillator template, and implemented it on the [[pentadecathlon]] page, and I quite like it this way. If other folks like it too, we can start rolling out these changes to other templates (Spaceships, Guns, etc) like you mentioned. [[User:Nathaniel|Nathaniel]] ([[User talk:Nathaniel|talk]]) 18:40, 16 June 2016 (UTC)
:: Things are starting to look pretty good for plaintext support on LifeWiki. The latest auto-upload report is [[User:Dvgrn/Plaintext_files|here]].  There are still a few weird exceptions getting reported, but for the most part I can happily ignore them now.


:::::: With the new build of LifeViewer there is no need to use the THUMBNAIL or COLOR GRID 229 229 229 commands. They're redundant and should be removed from templates. [[User:Rowett|Rowett]] ([[User talk:Rowett|talk]]) 19:21, 16 June 2016 (UTC)
:: I'm vaguely considering making some custom plaintext files for special-case patterns like the bumpers and bouncers, where there are extra gliders added for animation purposes that happen to increase the bounding box beyond the 64x100 limit. It seems reasonable to upload plaintext versions without the extra gliders for those cases.


::::::: Done, thanks! [[User:Nathaniel|Nathaniel]] ([[User talk:Nathaniel|talk]]) 19:46, 16 June 2016 (UTC)
:: That will give me an excuse to go through the report and make sure there aren't any other odd cases where patterns are mysteriously getting missed, even though they should be small enough for a plaintext version.  I think that's not a problem any more, but I haven't triple-checked. If anyone sees leftover stuff that the auto-upload script still isn't handling correctly, please let me know. [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 23:17, 2 April 2019 (UTC)


::::::Sounds good to me! If everyone else is in favor, I'd say let's go. [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 21:55, 16 June 2016 (UTC)
::: I skimmed through the list, and the only problem I found was that [http://www.conwaylife.com/patterns/switchenginechannel.cells switchenginechannel.cells] didn't seem to get generated despite being smaller than the 64x100 limit, even though it has shown up in all of the "Cells files created" sections in [[User:Dvgrn/Plaintext files]]. Other than that, there doesn't seem to be any errors on the computer's part. I saw a few small patterns in the "No plaintext param in infobox" section, but that appears to be due to my own error, so I'll double-check that whenever I get the chance. [[User:Ian07|Ian07]] ([[User talk:Ian07|talk]]) 23:33, 2 April 2019 (UTC)


::::::Addendum -- I've finished cleaning up the pattern infobox transclusions on all pattern pages (i.e. all pages in [[:Category:Patterns]]). Apologies for the barrage of edits. [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 18:32, 19 June 2016 (UTC)
:::: Huh, that's an odd one. There were a couple of nonstandard things about the uploaded RLE, so I replaced it with a more standard version.  Will re-run the script at some point and see if I get a .cells file out, and one way or another that should help me track down the bug -- can't see why the code has been skipping that pattern, but the script is getting embarrassingly messy so there could be all kinds of subtle errors hiding in there. Thanks for the review! [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 02:33, 3 April 2019 (UTC)


:Hi, I have come to report that the viewer window glitches when using different skins for the Wiki. I found this when studying the [[copperhead]] page but the situation is probably similar for others.
== Replacing images with animated viewers ==
:*Under the skins Cologne Blue and Vector (which is my preset), the window cannot be dragged or closed unless one scrolls down.
:*Under the skin Modern, the window seems fully functional but can be dragged under the blue bar at the top of the screen.
:Can someone please fix this? [[User:Gameoflifeboy|Gameof]][[User talk:Gameoflifeboy|life]][[Special:Contributions/Gameoflifeboy|boy]] 03:03, 17 June 2016 (UTC)


:: Thanks for letting me know. I believe this is now fixed in all skins. [[User:Nathaniel|Nathaniel]] ([[User talk:Nathaniel|talk]]) 12:36, 17 June 2016 (UTC)
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.


::: If a page has an RLE: page but no official RLE pattern file, it now at least displays a link to the raw RLE code in the pattern files section. See [[P32 blinker hassler]] for an example. [[User:Nathaniel|Nathaniel]] ([[User talk:Nathaniel|talk]]) 11:50, 18 June 2016 (UTC)
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.


A reboot on the topic of category config pages and pattern-specific config pages:  I've tried removing the copperhead-specific spaceship-following viewer tags from  LifeViewer_config:spaceship, and adding them to LifeViewer_config:copperhead.  It definitely has an effect, but it's not the right effect -- see the current [[Copperhead]] page, where the theme and other tags are no longer being applied. It seems as if the existence of a pattern-specific LifeViewer:pname page breaks the tag-parsing system (i.e., keeps the viewer from applying tags).
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)


<div style="float:left; padding-right:5px;">{{LV:Viewer|4bobo$2o2bobo$2o3bobo$2o$2bo5bo2$5b2obo$5b2o$5bo2bo$6b2o!
: 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.
#C [[ THEME 6 GRID GRIDMAJOR 0 THUMBLAUNCH THUMBSIZE 3 AUTOSTART GPS 5 HEIGHT 800 WIDTH 483 ]]
#C [[ ZOOM 32 T 700 LINEAR X X -100 LOOP 700 ]]}}</div>
Another example to look at:  here's how I think maybe the Infobox loafer might look. General infobox tags are on the first comment line, and loafer-specific tags are on the second line.


But if I try creating any LifeViewer_config:loafer page, even a blank one, then tags seem to stop being applied in the loafer infobox's viewer. (?)
: Now, if we deleted 114p6h1v0pushalong.rle from the server, and added these two comment lines at the top of [[RLE:114p6h1v0pushalong]] --


I kind of like the idea of these LifeViewer config pages, and kind of don't like them -- seems like the LifeViewer_config:spaceship one might make sense... or maybe it should just be for LifeViewer_config:pattern? ... but I'd rather have the pattern-specific tags right in the Infobox section of the pattern page, somehow, where I can get at them without having to create a whole new config page for every pattern. [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 17:50, 18 June 2016 (UTC)
<pre>#O Hartmut Holzwart
#C A pushalong for the c/6 orthogonal period 6 spaceship 114P6H1V0.</pre>


<div style="float:right; padding-left:5px;">{{LV:Viewer|3o$o$bo!
: - then the auto-upload script would regenerate a fairly close copy of the file that we deletedThe #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.
#C [[ THEME 6 GRID GRIDMAJOR 0 THUMBLAUNCH THUMBSIZE 3 AUTOSTART GPS 4 HEIGHT 320 AUTOFIT ]]}}</div>
<div style="float:right; padding-left:5px;">{{LV:Viewer|31b3o24b$32bo25b$32bo2bo22b$32bo2bo22b$33bobo22b$48b2o8b$48b2o8b3$32bo
25b$31bobo24b$32bo25b$49bo8b$48bo7b2o$30b4o22b2o$30b2o3bo10bo11b$31bo
4bo9bobo9b$33bob2o10bo10b$34bo23b3$42bobob2o10b$25bo16bobo13b$24b3o17b
o2bo10b$43bo3bo10b$24b3o16b4o2b2o7b$25b2ob2o14bo5b2o6b$27bo21bo8b3$b3o
54b$2bo55b$2bo2bo52b$2bo2bo52b$3bobo52b$18b2o38b$18b2o38b$24bo33b$23b
3o32b$2bo19b2ob2o31b$bobo18bobo33b$2bo19bo35b3$4o54b$2o3bo13bo38b$bo4b
o11bobo37b$3bob2o11bo39b$4bo15b2o36b$21bo36b$18b3o37b$19b2o37b$16bo41b
$16b2o40b$16b2o40b$6b2o6b2o42b$6b2o4b2o44b$12b2obo42b$14b2o42b5$14b2o
42b$14b2o!
#C [[ THEME 6 GRID GRIDMAJOR 0 THUMBLAUNCH THUMBSIZE 3 AUTOSTART GPS 60 HEIGHT 320 AUTOFIT ]]}}</div>
AwesoMan3000 mentioned LifeViewer's AutoFit functionality above, as a possible alternative way of automatically following a spaceship without having to set up a waypoint and use the LINEAR tag and so forthI experimented with this a few days ago, and I think it would currently be in danger of inducing mild nausea, even for a simple low-period monotonic spaceship such as a glider... for non-monotonic spaceships it can get really strange.  Click on the Cordership at the right here for a fairly wild ride.


That said, maybe there's a way to add an optional AutoFit parameter, or a different kind of autofit (AUTOTRACK?) to do something a little bit smarter.  The most workable thing I can think of would be to check if the pattern is the same at the end of a LOOP N cycle as it was at the beginning, and if so, set up a LINEAR waypoint automatically from the T=0 pattern center to the T=N center... so the viewer wouldn't track the pattern for the first cycle, but then it could maybe catch up smoothly and follow it from there. [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 18:56, 18 June 2016 (UTC)
: 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, etcThat's probably a tradition that I'll continue, so that's another line of defense against accidental damageWith 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.
:::::::::Not sure I fancy the AUTO part of AUTOTRACK. Perhaps a command TRACK <period> <x offset> <y offset> which would (under the covers) generate the appropriate Waypoint script commands. For Copperhead you'd use TRACK 10 0 1, Loafer TRACK 7 1 0 and Glider TRACK 4 1 1. [[User:Rowett|Rowett]] ([[User talk:Rowett|talk]]) 22:20, 18 June 2016 (UTC)
::::::::::I like the sound of TRACK N XVAL YVALIt's not really necessary, since it could just be syntactic sugar for something that's only slightly more complicated -- T N*10 LINEAR [X|Y|ALL] [X XVAL*10] [Y YVAL*10] LOOP N*10 -- but I think a moving viewport is a fairly common thing to want to set up, so it would be nice to make it as simple as possibleMight there be a way to set up a moving viewport without any periodic reset? [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 00:20, 19 June 2016 (UTC)
:::::::::::Yes it's just syntactic sugar but probably worth it for something fairly common as you said. It would also automatically do the GRIDMAJOR calculation (if specified) i.e. GRIDMAJOR M TRACK N XVAL YVAL would generate GRIDMAJOR M T N*M LINEAR [X|Y|ALL] [X XVAL*M] [Y YVAL*M] LOOP N*M (assuming M > 0).
:::::::::::What's the issue with periodic reset (just flicker, which was fixed today, or something else)? [[User:Rowett|Rowett]] ([[User talk:Rowett|talk]]) 05:58, 19 June 2016 (UTC)
:::::::::::I've implemented TRACK N XVAL YVAL and examples can be seen [http://lazyslug.no-ip.biz/lifeview/plugin/track.html here]. [[User:Rowett|Rowett]] ([[User talk:Rowett|talk]]) 07:21, 19 June 2016 (UTC)
::::::::::::I can't advance the pattern generation-by-generation with the TRACK settings applied.  Instead, going forward one step advances the frame as dictated by the TRACK settings.<br/>~[[User:Sokwe|Sokwe]] 10:40, 19 June 2016 (UTC)
:::::::::::::In TRACK/Waypoint mode the step forward feature moves the pattern forward at the rate defined by GPS (rather than generation by generation). To step forward a generation at a time either Reset once (which will disable TRACK/Waypoint mode) or use hotkey "w", which toggles TRACK/Waypoint mode. A second Reset while at T=0 will perform a full Reset (and restart Waypoints etc.). [[User:Rowett|Rowett]] ([[User talk:Rowett|talk]]) 11:06, 19 June 2016 (UTC)
<div style="clear:both" \>


: I've made it so that generic config options (like the grid colors) are in Template:LifeViewer_config/spaceship, but Template:LifeViewer_config/copperhead is no longer used. Instead, the template on the [[copperhead]] page itself (and all spaceship pages) has a "viewerconfig" parameter that can be populated with additional options. See the [[copperhead]] page's code to see how this works now. Let me know if this works OK for you. [[User:Nathaniel|Nathaniel]] ([[User talk:Nathaniel|talk]]) 19:41, 18 June 2016 (UTC)
: 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)


::Viewer configuration appears to be broken now; see e.g. [[Loafer]] (does not track the ship anymore) or [[Mangled 1 beacon]] (oscillates at 60 GPS instead of 5). [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 10:47, 19 June 2016 (UTC)
:: One more detail that isn't clear from the above:


::: The viewerconfig parameter is sensitive to spacing -- see the fix that I just made to the [[loafer]] page. [[User:Nathaniel|Nathaniel]] ([[User talk:Nathaniel|talk]]) 12:56, 19 June 2016 (UTC)
:: The auto-upload script will automatically generate a slightly nonstandard #O line including both the discoverer and the discoveryear from the infobox -- like


::::Ah, good to know (and thanks for fixing these). Question: given the potential for confusion there, and since <tt>viewerconfig</tt> is inevitably going to be wrapped in <tt><nowiki>#C[[ ... ]]</nowiki></tt> anyway, should we move the comment wrapper into the pattern templates so that the configuration would instead be specified as just e.g. (using [[Loafer]] as an example) "<tt>ZOOM 32 T 700 LINEAR X X 100 10 LOOP 700 GPS 5 HEIGHT 400 WIDTH 400</tt>"? Or are there use cases where having full control over what's passed to LifeViewer would be useful/necessary? Looking at complicated examples such as the [http://lazyslug.no-ip.biz/lifeview/plugin/waypoints.html Waypoints] one Chris mentioned above, it looks like the entire configuration script's still wrapped. [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 13:14, 19 June 2016 (UTC)
<pre>#O Paul Tooke, 2008</pre>


:::::There's an extra "10" in the [[Loafer]] script command list which needs removing: "<tt>ZOOM 32 T 700 LINEAR X X 100 <strike>10</strike> LOOP 700 GPS 5 HEIGHT 400 WIDTH 400</tt>". LifeViewer actually complains about it but you can't see the error until you launch the full size popup viewer. Additionally the script can now be rewritten using the new TRACK command: "<tt>ZOOM 32 TRACK 7 1 0 GPS 5 HEIGHT 400 WIDTH 400</tt>". [[User:Rowett|Rowett]] ([[User talk:Rowett|talk]]) 13:24, 19 June 2016 (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.


::::::Incorporated, thanks! [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 13:31, 19 June 2016 (UTC)
:: 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.
:::::LifeViewer looks for script commands in pattern comments (for rle format files this is lines beginning with #C or any text after the ! terminator). To be recognized the commands must be separated by whitespace and enclosed by <tt><nowiki>[[</nowiki></tt> and <tt><nowiki>]]</nowiki></tt>. You can either have all commands wrapped together <tt><nowiki>[[ AUTOSTART ZOOM 32 GPS 5 ]]</nowiki></tt> or you can wrap separately <tt><nowiki>[[ AUTOSTART ]] [[ ZOOM 32 GPS 5 ]]</nowiki></tt>. [[User:Rowett|Rowett]] ([[User talk:Rowett|talk]]) 20:53, 22 June 2016 (UTC)
::::Just a small FYI/reminder for everyone:  as soon as the LifeViewer version on the LifeWiki is updated past the current build 195, existing TRACK and waypoint coordinates will have to be negated, in any scripts where they're used -- e.g., TRACK 7 -1 0 instead of TRACK 7 1 0, above.  It seemed a little odd that TRACK had to be told where the pattern should move to, whereas everything else was defined in terms of where the camera position. Sooner is probably a better time than later, to make that more consistent... [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 15:27, 29 June 2016 (UTC)


::::: Whoops, sorry for the delay. Build 199 is now live on the wiki. [[User:Nathaniel|Nathaniel]] ([[User talk:Nathaniel|talk]]) 23:55, 29 June 2016 (UTC)
:: 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)


::::::Something's wrong. Viewers using TRACK (such as the [http://conwaylife.com/w/index.php?title=Loafer&oldid=27504 Loafer's] don't move the camera anymore. Viewers using the older config (such as [http://conwaylife.com/w/index.php?title=Copperhead&oldid=27496 Copperhead]'s) still work. [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 09:27, 30 June 2016 (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.
:::::::OK so that build escaped before I had a chance to give instructions for the changes that need to be made to the templates here. The <tt>TRACK</tt> command has changed to <tt>TRACKLOOP</tt>, and the way you specify the X and Y speeds has also changed. <tt>TRACKLOOP P X Y</tt> takes the loop period, P, and then the velocity in the X and Y directions in cells/generation. The coordinate system changed so negative values are now up and left.
:::::::For the [[Copperhead]] this means that the original <tt>TRACK 10 0 1</tt> command needs to become <tt>TRACKLOOP 10 0 -1/10</tt> (or <tt>TRACKLOOP 10 0 -0.1</tt> if you prefer). I've made this change to the [[Copperhead]] page. Similar changes will need to be made to other places that use <tt>TRACK</tt>.[[User:Rowett|Rowett]] ([[User talk:Rowett|talk]]) 12:04, 30 June 2016 (UTC)
::::::::I experimentally fixed [[Loafer]] and [[31P8H4V0]] and a few others, just now.  The TRACKLOOP tracking works fine -- just needs dt, dx, and dy, in the standard Golly coordinate system now.  There's a new zoom-related bug in LifeViewer Build 199, which should be fixed in Build 200, which with any luck will show up on the Wiki fairly soon (hours or days). Patience is advised... we can probably hold off on fixing the rest of the [http://www.conwaylife.com/w/index.php?title=Special:WhatLinksHere/LV:Viewer&limit=500 pages that link to LV:Viewer] until it's clear that the viewer thumbnail is looking right when we're done. [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 14:27, 30 June 2016 (UTC)
:::::::::Nathaniel please upload [http://lazyslug.no-ip.biz/lifeview/plugin/js/lv-plugin.js build 200] when you get a moment. Note that in this new build there should be no need to specify ZOOM (and in most cases HEIGHT) commands in your templates since AutoFit will take care of this. [[User:Rowett|Rowett]] ([[User talk:Rowett|talk]]) 16:48, 30 June 2016 (UTC)
::::::::::Build 200 is now live on the Wiki. You may need to refresh your browser to see it. Release notes can be found [http://www.conwaylife.com/forums/viewtopic.php?f=3&t=1622&start=175#p32557 here]. [[User:Rowett|Rowett]] ([[User talk:Rowett|talk]]) 21:37, 30 June 2016 (UTC)


::::::::::: Excellent, thanks everyone! [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 10:04, 1 July 2016 (UTC)
::: 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 nameThe 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. (?)
::::Tracking should be fixed for all Infobox viewers now.  If you see any exceptions... well, just go ahead and fix them!  Some of the Cordership views can possibly be improved with some future build of LifeViewer, if there's a way to get the (currently automatically set) ZOOM level under better control, and/or allow for a wider viewer frame in the InfoboxCurrently some HEIGHT and WIDTH settings seem to be ignored -- besides any WIDTH<480 or HEIGHT<240 settings, which are below LifeViewer's minimium settings so are ignored for that reason.
:::::I changed [[RLE:coeship]] to a different phase, so that the whole trailing spark is always visible; there might be a few other high-period ships where that workaround could be used. [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 14:30, 1 July 2016 (UTC)


:BTW, I'd like to repropose that we introduce a new namespace (in the technical sense) for RLE: pages, the reason being that so long as they're part of the Main namespace, they'll turn up as [[Special:Random|random pages]], among other things.
::: 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


:Obviously this can only be done by a site administrator who's got access to the server config (just Nathaniel, I presume). Documentation for adding namespaces is [https://www.mediawiki.org/wiki/Manual:Using_custom_namespaces here on mediawiki.org].
<pre>#C http://www.conwaylife.com/wiki/index.php?title=233P3H1V0</pre>


:If we decide to do this we'll have to move the existing RLE pages over; there's [[Special:PrefixIndex/RLE:|quite a few]] already, so the best bet would be to automate the task; MediaWiki includes a maintenance script to help with this. We'd also have to make very minor edits to [[Template:Oscillator]] and [[Template:Spaceship]] (basically, remove a colon from each to transclude the page from the correct namespace), but that's all.
::: There's a shorter form that works just as well:


:Just bringing this up again because I noticed looking at random pages brought up a lot of RLE: ones. [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 23:51, 3 July 2016 (UTC)
<pre>http://www.conwaylife.com/wiki/233P3H1V0</pre>


:: Thanks for bringing this up again. I'll create the namespace soon -- unfortunately I'm on vacation with terrible internet right now though so FTP access and whatnot is pretty painful. [[User:Nathaniel|Nathaniel]] ([[User talk:Nathaniel|talk]]) 01:06, 4 July 2016 (UTC)
::: 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.


::: Along with this, it would be nice to be able to auto-generate real RLE files from the RLE pages... maybe with some kind of minor security system, so that someone can't easily come along and replace every object's RLE with 28bo$28bo$4o2bo3bob4o3b3o3b4o$o3bobo3bobo3bobo3bobo3bo$o3bobobobobo3bob5obo3bo$o3bob2ob2obo3bobo5bo3bo$4o2bo3bobo3bo2b4o2b4o$o$o! or something, and have it show up in the Infobox viewer, or replace perfectly good commented RLE files that have already been uploaded.  Allow raw RLE to be created, but then lock it once it's been confirmed to be the correct pattern, and auto-generate full RLE files whenever the locking happens? Something like that.
::: 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)
:: I also wondered whether it might work to have the RLE and glider-synthesis links in the Infobox open a page with a Select All codebox and a viewer, along the same lines as on the forums -- instead of just a plain-text view of the RLE file. [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 03:05, 4 July 2016 (UTC)


::: I especially want to see RLE as a seperate namespace, since you can't search contributions/recent changes for "new pages"-type filters without RLE: pages pouring out of the screen. - [[User:AwesoMan3000|AwesoMan3000]] ([[User talk:AwesoMan3000|talk]]) 09:33, 4 July 2016 (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. [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 23:12, 3 February 2019 (UTC)


::::Dave -- Displaying RLE and synthesis RLE as in the forums sounds like an excellent idea as well. And mass-importing existing RLE files should be easy to do with a shell script &mdash; though some manual tweaks may still be needed for e.g. spaceships with large tail sparks. And I agree with muzik that per-namespace filtering of edits would be another perk of a dedicated namespace.
:::: 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)


::::MediaWiki has [https://www.mediawiki.org/wiki/Manual:$wgNamespaceProtection some support for per-namespace permissions], BTW, so it would be easy to only allow e.g. trusted users to edit pages in the RLE: namespace. Alternatively sysops could of course simply look over each new RLE page (perhaps using [[Special:NewPages]] to monitor activity in this namespace) and lock the ones that are done, fully or to trusted users. [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 09:44, 4 July 2016 (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)
Nathaniel please will you upload [http://lazyslug.no-ip.biz/lifeview/plugin/js/lv-plugin.js build 206] when you get a moment. [[User:Rowett|Rowett]] ([[User talk:Rowett|talk]]) 19:39, 13 July 2016 (UTC)
::::: The RLE namespace is now a real namespace, and I have moved the pages over. [[User:Nathaniel|Nathaniel]] ([[User talk:Nathaniel|talk]]) 14:17, 21 July 2016 (UTC)


:::::: Excellent, thanks for handling this! [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 11:12, 22 July 2016 (UTC)
== Arbitrary adjective names ==


:Thanks Nathaniel!
Per [http://www.conwaylife.com/forums/viewtopic.php?p=71523#p71523 this forum post], I've removed every Arbitrary Adjective Name™ I could find on the wiki and moved it to a more easily-recognizable name (article text has also been properly updated to match title). Here's the list of files that need to be deleted as a result:
:Build 206 is now live on the Wiki. You may need to refresh your browser to see it. Release notes can be found [http://conwaylife.com/forums/viewtopic.php?f=3&t=1622&start=175#p33212 here]. [[User:Rowett|Rowett]] ([[User talk:Rowett|talk]]) 13:44, 14 July 2016 (UTC)
    absurdlylongboat.rle
::Nathaniel to remove the "Script error" messages and to allow wider LifeViewers please can you add the following to the <tt><head></tt> section of the Wiki pages: <tt><meta name="LifeViewer" content="rle code"></tt> [[User:Rowett|Rowett]] ([[User talk:Rowett|talk]]) 15:48, 14 July 2016 (UTC)
    absurdlylongship.rle
    absurdlylongsnake.rle
    boatwithextralongtail.rle
    extralongbarge.rle
    extralongboat.rle
    extralongcanoe.rle
    extralonghookwithtail.rle
    extralongintegral.rle
    extralongshillelagh.rle
    extralongship.rle
    extralongsnake.rle
    extralongsnake_synth.rle
    extralongtubshillelagh.rle
    ludicrouslylongboat.rle
    ludicrouslylongship.rle
    remarkablylongboat.rle
    remarkablylongcanoe.rle
    remarkablylonghookwithtail.rle
    remarkablylongshillelagh.rle
    remarkablylongship.rle
    remarkablylongsnake.rle
    remarkablylongsnake_synth.rle
    ridiculouslylongboat.rle
    ridiculouslylongship.rle
    stupidlylongboat.rle
    stupidlylongship.rle
    terriblylongboat.rle
    terriblylongship.rle
    terriblylongsnake.rle


::: Done, thanks. [[User:Nathaniel|Nathaniel]] ([[User talk:Nathaniel|talk]]) 16:07, 14 July 2016 (UTC)
[[User:Ian07|Ian07]] ([[User talk:Ian07|talk]]) 17:12, 23 February 2019 (UTC)
:::: Nathaniel please will you upload [http://lazyslug.no-ip.biz/lifeview/plugin/js/lv-plugin.js build 207] when you get a moment. Sorry for the quick update but a bug escaped. [[User:Rowett|Rowett]] ([[User talk:Rowett|talk]]) 18:27, 14 July 2016 (UTC)


::::: 207's uploaded, script errors persist. Looks like [[LV:Viewer]] still needs to be updated? [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 11:54, 15 July 2016 (UTC)
: I think the above are all cleaned up correctly now, as far as uploaded patterns getting deleted.  There was also a file out there called "extraextralongsnake_synth.rle" which turned out to have the Niemiec synthesis file for long^4 snake rather than long^5 snake. (Yup, getting rid of the extra and very and Arbitrary adjectives in favor of a simple long count still seems like a good simplification.)
:::::: Script errors are because those patterns have scripts containing <tt><nowiki>[[ WIDTH ]]</nowiki></tt> script commands with values of < 480 (which is the minimum width for a non-thumbnail LifeViewer). So those <tt>WIDTH</tt> commands need changing or removing (in which case it will default to 480 pixels width). Then the <tt><nowiki>[[ THUMBNAIL ]]</nowiki></tt> or <tt><nowiki>[[ THUMBLAUNCH ]]</nowiki></tt> commands can be used along with <tt><nowiki>[[ THUMBSIZE ]]</nowiki></tt> to specify how small to make the Thumbnail.
:::::: For example the two viewers on this page with Script Errors both have <tt><nowiki>[[ WIDTH 320 ]]</nowiki></tt> defined. [[User:Rowett|Rowett]] ([[User talk:Rowett|talk]]) 14:31, 15 July 2016 (UTC)


:::::::What about a LifeViewer for still lifes? -wwei23 7:05PM 5/29/2017 NY time
: The _synth files are still troublesome in general, because the files that are already out there often have generic links to the Niemiec database search page, rather than to the actual file.  And of course on that database search page, the way you'd find a long^5 snake or whatever is actually by looking up "extra extra long snake"... so there's some possibility that the cleanup of "extra" creates some new confusion while reducing some other old confusion.


==The [[moon]] and LifeWiki's mission==
: Anyway, I'd still recommend not starting any kind of comprehensive review of _synth files until the new version of Niemiec's database becomes available.
It was [http://www.conwaylife.com/forums/viewtopic.php?p=32003#p32003 observed] on the ConwayLife.com forums that the [[moon]] (a [[photon]] in various B2 rules such as [[Seeds]] and [[Live Free or Die]]) has an article on here despite not actually being a spaceship (or indeed any notable pattern) in Conway Life.  


What do we do with this article, then? I'll copy my comments from the forum below for discussion:
: The second half of this cleanup will require re-running the auto-upload script, to get the .rle and .cells versions of all these files back onto the server with their new longN* names. I'm planning to wait until at least the end of this week before tackling that job. [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 22:27, 25 February 2019 (UTC)


:''Right now the wiki is serving two purposes. One, it's a general resource of information about cellular automata, especially Life-like cellular automata. And two, it's a pattern collection for Conway Life specifically.''
:: Upload of new RLE and plaintext files should be done now.  Some of these names are still preserved as redirects, like [[Stupidly long boat]] and also as an alternate name given in the text of the article. I may eventually be inspired to track down all these leftovers and clean them up, but for now I'm kind of worn out from wrestling with the auto-upload script. There's always another degenerate case that hasn't been handled yet... [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 14:45, 27 March 2019 (UTC)


:''There are no hard and fast rules, but unless and until we want to change this, I'd say we should not add articles for patterns that only exist outside of Conway Life. For example, I agree that an article on the bomber, notable as it may otherwise be, does not belong on the LifeWiki in its current form.''
==Non-notable isotropic rules==
Many pages on isotropic non-totalistic rules have been proposed for deletion. It seems that some users (myself included) have moved articles on such rules to their namespace, such as [http://www.conwaylife.com/wiki/User:AwesoMan3000/Goat_Flock here]. This seems to be an ongoing project and deserves discussion here.


:''However, that doesn't mean we can't have information on these patterns at all. For example it would be perfectly fine to have an article on [[HighLife]] (in fact, we do), and have a section on the bomber in that article (in fact, we do). A "[[Spaceships in HighLife]]" page would be fine, as that page would clearly pertain to HighLife rather than life, and its contents would not get mixed with information on Life's patterns in the pattern category.''
Should I adopt salad or would someone else like it? I have a couple collections of ships that I’d like to move to the page should it be adopted. [[User:Moosey|Moosey]] ([[User talk:Moosey|talk]]) 17:15, 28 March 2019 (UTC)


:''Adding "in other rules" sections to articles on Life patterns would also be fine, of course.''
: I reverted the speedy deletion tag on [[Goat Flock]] because there's a wiki link from the [https://catagolue.appspot.com/census/b2in3s123a Catagolue rule page] which originates from the [https://gitlab.com/apgoucher/catagolue/blob/master/initialise/all-rules.txt#L120 rule list].


:''The moon, meanwhile -- well, we don't talk about the moon. Ixnay on the oonmay! ;) Jokes aside, it's an article that probably shouldn't exist in its current form but has sort of been grandfathered in. If it only appeared in a single (notable) rule I'd move it to a section of that one's article -- but it's in at least two important ones, Seeds and Live Free or Die, so I'm not sure how to proceed. For now I don't think it's important enough to really worry about, but I'll start a Tiki bar discussion on the wiki.''
: If there's still a consensus that the main namespace redirect should be deleted, then the rule list would need to be updated with 'Goat_Flock' replaced with 'User:AwesoMan3000/Goat_Flock' after the exclamation mark on line 120. [[User:Calcyman|Calcyman]] ([[User talk:Calcyman|talk]]) 09:53, 29 March 2019 (UTC)


TL;DR -- I don't want to change LifeWiki's mission, it's fine as it is for the time being. Patterns from other cellular automata should not have patterns, unless they are interesting patterns in Conway Life as well. As such the [[moon]] should (probably) not have an article, but I don't know where its article's contents should be moved.
:: I like the idea of having some space on the LifeWiki for people to document their favorite isotropic rule discoveries. It makes sense to me that all of these could go somewhere other than the main namespace, just to keep things that are spaceships in other rules from getting mixed up with Conway's Life spaceships, and so on. The User namespace seems like a fine place for isotropic rule pages, along the lines of Moosey's suggestion.


Thoughts? [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 12:10, 16 June 2016 (UTC)
:: But sometimes it's hard to know who should "claim" a rule -- it doesn't necessarily make sense for any particular user to start a page, and yet it's clear that a page should be started.  Is there any harm in inventing a new namespace for this purpose?  Would anything be wrong with [[Isotropic:Goat Flock]], for example? [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 13:59, 29 March 2019 (UTC)


: If we're going with the "In other rules" section in more pages, seems like the best idea is merging it with [[Grin]]. - [[User:AwesoMan3000|AwesoMan3000]] ([[User talk:AwesoMan3000|talk]]) 12:18, 16 June 2016 (UTC)
::: @dvgrn: good idea. It would prevent too much clutter in the main namespace without making anyone frustrated about the fact that <nowiki>[insert frustration here]</nowiki> happened.


:: I agree with merging it with grin. In general, in cases like there where a pattern behaves differently in different rules, the Conway page should be the "main" article, with a subsection describing how it behaves in the other rule. If it is not notable in Conway's Life, then I have no objection to it getting its own page, with two caveats: (1) There should be enough information about it to really warrant its own page --- some patterns like the HighLife replicator can probably have entire articles written about them, but we likely don't need a page for every spaceship in every rule. (2) Since the focus is on Conway's Life, I'd like non-Conway patterns to be *very* clearly marked as non-Conway patterns. I'm thinking that they should all say the name of the rule in the page's title (so a pattern's title might be "Bomber_(HighLife)" or "Moon_(Seeds)" or something like that. [[User:Nathaniel|Nathaniel]] ([[User talk:Nathaniel|talk]]) 12:40, 16 June 2016 (UTC)
::: who can make new namespaces? [[User:Moosey|Moosey]] ([[User talk:Moosey|talk]]) 14:41, 29 March 2019 (UTC)


::: I don't like the idea of slapping the rule name on the page title, unless it has similarly named patterns or concepts, etc in other rules. So Bomber (HighLife) seems like a good idea as to not get mixed up with the glider gun from normal Life, but something like Puddle jumper (DryLife) is kind of unneccesary if there is no pattern named Puddle jumper in normal Life. If anything, we should add the rule name into the introduction of the article, like "'''Puddle jumper''' is a [[9c/28 orthogonal]] [[spaceship]] in the cellular automaton [[DryLife]]." - [[User:AwesoMan3000|AwesoMan3000]] ([[User talk:AwesoMan3000|talk]]) 12:54, 16 June 2016 (UTC)
::: I agree with the namespace idea. Perhaps we could name it something like "OCA" so we could move existing articles such as [[HighLife]] there. As for specific patterns, I'd suggest making them subpages of their native rules, e.g. [[OCA:HighLife/Bomber]] so they don't get mistaken as rules. Of course, the notability guidelines should still apply here, or else this will become way too hard to maintain. [[User:Ian07|Ian07]] ([[User talk:Ian07|talk]]) 14:33, 30 March 2019 (UTC)


::::I'm in favor of adding an indication of the rule(s) a non-Life pattern runs in to the page title, myself. It may be superfluous in the article itself, but it'll make it MUCH easier to pick out these patterns in pattern categories such as [[:Category:Spaceships]] -- seeing "Bomber (HighLife)" there will make it that much clearer that the bomber isn't a spaceship in Conway Life.
:::: I agree with all of Ian07's suggestions above: using OCA for the namespace, with rule pages (except for CGoL) in that namespace, and rule-specific patterns as subpages of their rules. [[User:Calcyman|Calcyman]] ([[User talk:Calcyman|talk]]) 17:12, 30 March 2019 (UTC)


::::Of course that's assuming we want to use the usual pattern categories for non-Life patterns in the first place. Do we? I'd honestly prefer not to; and while maintaining a separate category hierarchy for each rule would be unwieldy, we could have a second one for non-Life rules. The bomber would then be placed in (say) [[:Category:Spaceships (non-Life)]] or so; same for other patterns such as still lifes, oscillators etc. Category placement could be controlled by an extra infobox parameter, defaulting to using the regular categories (so existing articles on Life patterns would not need to be changed).
::::: @Moosey (and everyone else) -- based on a [https://www.mediawiki.org/wiki/Manual:Using_custom_namespaces very small amount of Googling], officially adding a new namespace to the LifeWiki namespace dropdown list is a Nathaniel-only change on the server side. I tried moving the "LifeHistory" article to [[OCA:LifeHistory]] as an experiment; the move was technically successful, but I think the article is just called "OCA:LifeHistory" and it's still in the main namespace.


::::[[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 16:28, 16 June 2016 (UTC)
::::: I've sent a request to Nathaniel. I or somebody will post an update here if and when "OCA" becomes an official namespace. Until then there's probably no point in trying to move any more OCA pages. [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 19:34, 30 March 2019 (UTC)


:::::You mean that it would check the "Rules" bit in the infobox, and if the important rule isn't Conway Life it would get added to the non-Life category? - [[User:AwesoMan3000|AwesoMan3000]] ([[User talk:AwesoMan3000|talk]]) 15:32, 17 June 2016 (UTC)
:::::: There's now an OCA namespace!  However, I've sent a follow-up question to Nathaniel, because I'm not sure what the best way would be to clean up an embarrassing problem I created.  Currently if you follow the [[LifeHistory]] link, you'll see a page called "OCA:LifeHistory", but that's still the actual name of that article, it's not in the OCA namespace. As a weird side effect, it doesn't seem to be possible to either edit or move that "OCA:LifeHistory" page, so it doesn't seem like I can fix the problem.


::::::That would be even better, but a bit more advanced. As a first approach I was merely thinking of something like <tt>life=true</tt> (default) / <tt>life=false</tt> (with a better name for the parameter). Patterns with <tt>life=false</tt> would then not get added to the [[:Category:Patterns|usual category tree]].
:::::: I can solve most of the problem by changing the LifeHistory redirect and creating an actual LifeHistory page in the OCA namespace. That might leave an orphaned "OCA:LifeHistory" page out there somewhere, but it doesn't seem as if there's any way to get to that article except via the current redirect. Does anyone see an easy way to move that article to where it belongs? I'm a little worried that if I don't clean it up correctly, it will be an unexpected headache sometime somehow. [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 15:37, 4 April 2019 (UTC)


::::::Of course there's still issues. For instance a pattern might be an oscillator in one rule, a spaceship in another, and a still life in a third; I don't think it'd be right to add three infoboxes (two of them specifying <tt>life=false</tt>) to the article then. But as long as we limit ourselves to highly notable patterns such as the HighLife Bomber and don't try to provide a comprehensive repository of all notable patterns in non-Life rules, I think this shouldn't matter in practice.
::::::: Stand by until further notice -- please don't try making any OCA-namespace pages just yet... hoping to get my OCA:LifeHistory mess fixed first. [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 17:43, 4 April 2019 (UTC)


::::::TL;DR -- as far as patterns go I feel we should focus primarily on Conway Life in this wiki for now, but the occasional article on highly notable non-Life patterns won't kill us and may well add value, so long as we don't lose sight of our primary focus. [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 16:15, 17 June 2016 (UTC)
:::::::: Okay, it looks like Nathaniel has successfully cleaned up [[OCA:LifeHistory]], so now it's actually in the new OCA namespace. Let's try moving [[Goat Flock]] and other similar pages out of the User namespace and into OCA -- there shouldn't be any need for people to "adopt" these pages individually any more. [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 01:55, 5 April 2019 (UTC)


: So, what exactly are the most notable non-Life patterns?  To me, the first thing that comes to mind is the HighLife replicator.  Can anyone think of any other non-Life patterns of significant notability?  How many such patterns could we potentially justify pattern pages for?<br/>~[[User:Sokwe|Sokwe]] 01:26, 18 June 2016 (UTC)
(Resetting indent) All of the rule pages have now been moved to the OCA namespace, and the resulting double redirects fixed, but I have a few questions about how to continue from here:


::Probably the bomber and the c/98 from HighLife, and the 9c/28 from DryLife. - [[User:AwesoMan3000|AwesoMan3000]] ([[User talk:AwesoMan3000|talk]]) 08:24, 18 June 2016 (UTC)
# Should rule families also be moved (e.g. [[OCA:Generations]]) or should the namespace ''just'' be for individual rules/patterns?
# Should we use the same pattern categories as for Conway's Game of Life, or will that cause confusion?
# Is it possible to make [[Special:SpecialPages]] include OCA pages? This is not as important but it would be nice as a maintenance tool for these articles.


:::My gut feeling is that the bomber at least is probably notable enough to have an article. The other two ships that AwesoMan3000 mentions I don't know about, I'm simply not familiar enough with [[HighLife]] or [[DryLife]] to say one way or another. Based on [[David Bell]]'s 1997 paper on [[Day & Night]] the [[Rocket]] (that's [https://catagolue.appspot.com/object/xq40_0sfvuvfszw1ovo1z0sgpvpgszwcvvvczookpvpkooz8hvvvvvh8z2pfvvvfp2zw37f73/b3678s34678 this xq40]) from that rule is also notable enough.
[[User:Ian07|Ian07]] ([[User talk:Ian07|talk]]) 20:43, 5 April 2019 (UTC)


:::But it's a judgement call. To establish a pattern's notability for the purpose of an article in the LifeWiki, do we look at that pattern's importance ''within the rule it appears in'', or within the wider context of [[Life-like cellular automata]]? The former's tempting, but the rules the patterns stem from themselves might not be important. The latter, meanwhile, might exclude some patterns unnecessarily.
: For #3, I don't think there's a (reasonably easy) way to add something like that to [[Special:SpecialPages]], but a list of all pages in the OCA namespace can already be viewed [http://www.conwaylife.com/w/index.php?title=Special%3AAllPages&from=&to=&namespace=102 here]. [[User:Nathaniel|Nathaniel]] ([[User talk:Nathaniel|talk]]) 21:39, 5 April 2019 (UTC)


:::So I'd say "very important patterns in important rules", perhaps (still a judgement call, of course). How does that sound? [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 09:33, 18 June 2016 (UTC)
== Caterloopillar "Family Page" vs. Specific Pattern ==


::::Since this is the LifeWiki, I was more thinking of Conway's Game of Life, and rules which are similar to it. So HighLife, DryLife, possibly tlife, etc. Other notable rules could be mentioned here and there.
Does anyone have any clever suggestions about how to deal with the problem that


::::Here's the 9c/28: http://www.conwaylife.com/forums/viewtopic.php?f=11&t=490&p=3326&hilit=Drylife#p3239
1) there is a family of spaceships called Caterloopillar, with different speeds, and different bounding boxes and cell counts for each speed, and
::::and c/98: (I mean, you posted in the thread so you should know about it?) http://www.conwaylife.com/forums/viewtopic.php?f=11&t=1612#p16741 <small><span class="autosigned">—&nbsp;Preceding unsigned comment added by [[User:AwesoMan3000|AwesoMan3000]] ([[User talk:AwesoMan3000|talk]] • [[Special:Contributions/AwesoMan3000|contribs]]) 10:10, 18 June 2016 (UTC)</span></small><!-- Template:Unsigned -->


:::::I shoot from the hip and then promptly forget what I said. :P I'm not actually very smart, all things considered.
2) there is a specific Caterloopillar with speed c/8 (for example) and a specific bounding box and cell count


:::::Outside of that -- I don't think there's really a meaningful difference between rules that are "similar" to Conway Life and ones that aren't. They're all Life-like cellular automata, after all; on the other hand even rules that share some patterns with Life (such as [[HighLife]]) still differ substantially from it. [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 22:57, 18 June 2016 (UTC)
?


:::I personally don't see why these patterns need their own pages.  The 9c/28 "puddle jumper" and its relatives could easily be included in a [[DryLife]] page.  The c/98 HighLife ship could be covered with an external link to the forums.  I think the bomber section on the HighLife page is sufficient for that pattern.
It would be nice to be able to link to a specific pattern or two, in a separate section inside the generic "Caterloopillar" article. But it doesn't really make sense to have bounding box, cell count, etc. parameters in the infobox for the generic article.
::: As I see it, there are two main problems with adding non-Life pattern pages.  The first problem is that we don't really have criteria to establish the notability of patterns in other rules.  There's often disagreements over the notability of Life patterns, and non-Life patterns add the extra complexity of rule notability.  The second problem is that we will need to find a way to clearly separate Life patterns from non-Life patterns. I don't want the bomber to show up in [[:Category:Spaceships with speed c/6]], nor do I want categories like [[:Category:Spaceships with speed c/98]], as they could cause confusion with what is known in Life.
:::I personally support a ban on all non-Life pattern pages.  The added difficulties and potential problems of non-Life pattern pages don't seem to be worth it when we aren't likely to add more than 10 such pages.<br/>~[[User:Sokwe|Sokwe]] 05:49, 19 June 2016 (UTC)


::::Okay, no specific pattern pages. What about another approach; clicking on a link for a "non-notable" pattern shows it in LifeViewer?
What's the best way to make this kind of thing clearer?  Could we invent some kind of special "pattern family" infobox template where no parameters are required, and parameters are only displayed if they're defined? [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 15:08, 5 April 2019 (UTC)
::::It might be a bit alarming to not know which ones pop up in the viewer or not, so I propose that links that open LifeViewer are green or something, except that would probably be a lot of work to create.
::::For example, clicking on the link for the c/98 ship on [[HighLife]]'s elemental spaceship section would open up LifeViewer, so we would get to see the ship. - [[User:AwesoMan3000|AwesoMan3000]] ([[User talk:AwesoMan3000|talk]]) 11:53, 24 June 2016 (UTC)


:::::I don't see anything wrong with using the viewer to display these patterns, e.g. on pages such as [[Spaceships in HighLife]] or [[HighLife#Spaceships]] or so. Remember you can just inline viewers using [[LV:Viewer]], too.
We have already several families of patterns. Geminoids are also family and deserve general family page. As well as very soon the 0E0P metacell will start to generate some more interesting news with special cases and other things (especially if we use turing machine to calculate the next iteration). I'm not sure exactly how to classify family. Does the helix based technology which sends *WSS upwards is considered a family of spaceships (as it contains the caterloopillar family). But I think the number of natural families of patterns is small, and it's important to think about pattern families as well. So maybe we need to start from a page where we define what does it means pattern family. I would define it as collection of designed patterns with noticeable feature which constitutes major role in the interest this pattern is arising (geminoids for example, or strange loopers, or helix based spaceships, or natural fuse based etc.).


:::::Use of the standard infobox templates should still be avoided for now, so in order to not put non-Life patterns into the pattern categories at the very least. In the long run, detailed information on patterns from non-Life rules is likely better off in dedicated wikis anyway, though I personally think general information and "overview"-style articles are fine here. [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 11:58, 24 June 2016 (UTC)
I think also we in total freedom here in the sense how do we analyze the patterns and the scope of the wiki articles. I think the families ignorance might be our weak spot in how we think about CGOL in general, and new families might be found which are less intuitive to think about now, and those families might bring new discoveries and design patterns just due to someone figuring out a new family.  


:FWIW, since the [[Moon]] is now mentioned as a B2-photon on [[Grin]], I've turned its page into a redirect to the latter article. [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 22:31, 24 June 2016 (UTC)
But to state it simply - it would be also nice to simply separate the two articles of caterloopillars that's all. In the banner we can simply place "-" for everything. The bounding box is the only problem as it creates -x- instead of nothing. We can insert adjustable for speed or "Less than c/4".


== [[Pattern naming]] ==
[[User:Simsim314|Simsim314]]


I've taken the article on [[Unnamed]] patterns and extended it into a general explanation of [[Pattern naming]]. However:
== Glider syntheses from Shinjuku with help from Catagolue ==


# I don't know how to write beautiful prose; and
-- Okay, we can get started on the next stage of improvements for glider synthesis reporting now!  This came in from calcyman last night (links slightly edited):
# I'm still hopelessly confused about the various prefixes (ortho-, meta- etc.).


So therefore it would be great if others could go over it and clarify/expand/edit/fix it as necessary. Thanks! [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 11:22, 20 June 2016 (UTC)
<i><blockquote>Catagolue can now be queried for syntheses from Shinjuku. Here's the [https://catagolue.appspot.com/textsamples/xp8_gg0gba9jz11078987066zx3213/b3s23/synthesis text link] that's probably most appropriate for LifeWiki.


== Macrocell/RLE files for large spaceships ==
Subsequent path parts are ignored, so you can do things such as: https://catagolue.appspot.com/textsamples/xp14_j9d0d9j/b3s23/synthesis/tumbler_synth.rle


[[Macrocell]]/[[RLE]] files for various large spaceships have been uploaded to the <tt>RLE:</tt> namespace recently, including at least the following:
The syntheses are also [https://catagolue.appspot.com/object/xq5_ug1hmgc865da808ad568cgmh1guz124w6yb6w421/b3s23 embedded in a LifeViewer] on the object pages.


# [[RLE:linearpropagator-mc]] (89 KB)
Finally, you can query the [https://catagolue.appspot.com/textcensus/b3s23/synthesis-costs best known costs (in gliders)] of all objects known to Catagolue. That's good for finding (for example) disparities between LifeWiki and Shinjuku to see whether either of them needs updating.
# [[RLE:gemini-mc]] (1.7 MB)
# [[RLE:gemini2-mc]] (1.0 MB)
# [[RLE:gemini3-mc]] (1.2 MB)
# [[RLE:demonoid-10hd-rle]] (254 KB)
# [[RLE:halfbakedknightship-mc]] (131 KB)


If there's a point to this I'm not seeing it. The LifeViewer plugin won't handle these, and embedding these huge ships in a viewer in articles wouldn't make much sense anyway. (Just imagine someone looking up a ship on their mobile device and being handed a multi-megabyte file that the viewer plugin would then try to animate.)
In particular, the [https://gitlab.com/apgoucher/catagolue/blob/master/initialise/diffupdate.py update script] uses this so as to only bother uploading (and indeed creating) RLEs of the objects that need to be updated.</blockquote></i>
My idea is that this should be an additional link in the "glider synthesis" section of relevant infoboxes.  If '''synthesisRLE=true''', then we can serve up both these Catagolue links and the uploaded synthesis file (which may be different from the Shinjuku/Catagolue version:  uploaded files may contain multiple syntheses with different construction envelopes, or continuous instead of incremental syntheses, sometimes two in a row for spaceships to show the repeat time, etc.)


Thoughts? [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 12:05, 15 July 2016 (UTC)
When the new version of Mark Niemiec's database becomes available, maybe we can use a similar system to link directly to '''conwaylife.com/ref/mniemiec/*''', instead of uploading copies of all those patterns which will then inevitably go out of date.


*Ironically, these are technically aimed at mobile users - I've stated before on the forums that it's not possible to select long text files as the raw text format. However, this is possible in the wiki editor's raw text editor.
However, it's not really ideal to use '''synthesisRLE=true''' to decide whether to show these links.  For example, we can now produce syntheses for all the 12-bit still lifes that AwesoMan3000 made articles for last year, like [https://catagolue.appspot.com/textsamples/xs12_354qic/b3s23/synthesis teardrop with claw] and so on.  Most of these don't have _synth files in the raw RLE namespace or uploaded to the server -- and now we don't need to do that. But if we had to add '''synthesisRLE=true''' to the infobox to get these new Catagolue links, then a link to the LifeWiki pattern collection would also be created.


*Of course, the viewer won't be able to load them, so I moved them to different file names so the viewer wouldn'r be able to find them. (but can we maybe get gifs for them?) - [[User:AwesoMan3000|AwesoMan3000]] ([[User talk:AwesoMan3000|talk]]) 12:23, 15 July 2016 (UTC)
If we really want all these syntheses to be part of the LifeWiki pattern collection, then we could certainly bulk-upload them all, and do a new bulk upload every year or so to catch anything that's gotten out of date. However, the total number of files on the server is already getting very unwieldy, at least with the current maintenance system, and this would only increase the pain.  Maybe it would make sense to ''remove'' all the _synth files from the pattern collection instead, and offer a separate downloadable ZIP file for glider syntheses?


::I'm not sure why you'd want a multi-megabyte pattern file on your phone, but sure, I'll take your word that it's useful.
Maybe we should just ''always'' display a Catagolue synthesis link, and then maybe have Catagolue display something slightly more edifying than [https://catagolue.appspot.com/textsamples/xs38_08e1v0v1u8zc970vg321/b3s23/synthesis "null"] if no synthesis is known. Any other ideas or suggestions?  [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 15:24, 13 April 2019 (UTC)


::As for GIFs, if you want them you'll have to generate these yourself. Just for fun I created a static PNG of the complete Caterpillar at a scale of 1:1. :P
: I think the determining factor (once the remaining small objects are in Shinjuku) is to use Catagolue if there's an apgcode provided, and to fall back on _synth.rle otherwise. The reason is because LifeWiki has Orthogonoid_synth.rle and Demonoid_synth.rle, for instance, and arguably HBK_synth.rle could also be included in LifeWiki but not in Shijuku. [[User:Calcyman|Calcyman]] ([[User talk:Calcyman|talk]]) 16:10, 13 April 2019 (UTC)


$ ls -l caterpillar.png
:: That sounds reasonable-ishMind you, people have been adding apgcodes for a lot of things (from [[lobster]]s to [[Sir Robin]]), so unless we invent a new parameter like ''minsynthesis=true'', we'll occasionally end up making links to Catagolue when no synthesis is actually available. If the link can be created/not created based on the existence of an apgcode without adding any more custom parameters, I think I might rather do it that way and just live with the occasional link to nowhere, instead of taking the ''minsynthesis=true'' route.
  -rwxr-xr-x+ 1 User None 11004191 Jul 15 17:45 caterpillar.png
$ file caterpillar.png
caterpillar.png: PNG image data, 4197 x 330723, 2-bit colormap, non-interlaced
$


:: As you can see the resulting file's surprisingly small at 11 MB, but can't be opened in e.g. GIMP because it's too big (GIMP apparently uses 16-bit integers for an image's width/height). I've not tried uploading it to the wiki; I'm not aware of any specific restrictions that would make this impossible, but I don't see the point, and I believe thumbnail generation etc. wouldn't work.
:: It doesn't seem like there's any harm providing a Catagolue link ''and'' a _synth file link (and a Niemiec-database link, eventually). It's often very useful to have non-record-breaking syntheses of objects, and we won't get those from Shinjuku.  When you want to construct a new object near some existing object, for example, you might need an expensive synthesis with gliders from just two directions.  Or you might want a synthesis of a two-cell edge that creates both cells simultaneously, to make a pseudo still life with an existing object with a two-cell edge. Existing _synth uploads often have these kinds of options included along with the record-holder. [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 16:45, 13 April 2019 (UTC)


::An animated GIF, meanwhile, would
::: Okay, with Ian07's incredibly helpful help, I've made a first attempt at switching over glider synthesis links to the new Shinjuku/Catagolue source.  Whenever an apgcode is supplied for an object '''and''' the 'synthesis={n}' parameter is set, a Catagolue-generated synthesis link should be provided in the Glider Synthesis section of the infobox.


::# be much larger. The Caterpillar's got a period of 270, so there'd have to be that many frames to the animation; GIF compression is also inferior compared to PNG compression, though this may be offset partially or completely by the fact you'd only need to compress a delta for each frame. Still I'd expect a filesize on the order of a gigabyte at least.
::: I also disabled the old links to chris_c's automatically generated syntheses, since those aren't reliably up to date any more.  And I tried changing the top-level category from >=1000 glider to >100 gliders. (Looks like I still have to work on that detail a bit more.) [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 17:59, 23 April 2019 (UTC)
::# take much longer to generate. I didn't actually check how long the PNG took, but it was a fair while.
::# be largely useless. For ships like these videos are a much better choice.


::So don't look at me -- but if you want to create an animated GIF for any (or all of these) yourself, by all means knock yourself out, stud. [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 21:23, 15 July 2016 (UTC)
:::: Here's a [http://conwaylife.com/forums/viewtopic.php?p=75407#p75407 current report] on discrepancies between LifeWiki and Shinjuku/Catagolue (I'm assuming the last two are reasonably well synchronized at the moment, since the synthesis-costs summary changed since yesterday; I used this morning's cost summary). I've gone through and cleaned up all the LifeWiki articles where a cost was reported that was larger than what's in Catagolue.


:::For obvious reasons, I don't think that one frame for every generation would be a good idea, especially for geminoids spaceships. - [[User:AwesoMan3000|AwesoMan3000]] ([[User talk:AwesoMan3000|talk]]) 22:09, 15 July 2016 (UTC)
:::: This leaves a pile of 170 articles where LifeWiki doesn't know about any synthesis at all... but it looks like that list is being tackled already. Thanks, Ian07! (Anyone else interested, see the above link for how to get the Catagolue synthesis link to pop up in the infobox.)


== More Infobox parameter ==
:::: This is all a huge improvement over the old method of creating separate RLE:{pname}_synth articles or {pname}_synth.rle files and uploading them to the server. Anyone see any problems so far?


Here are three I kind of want:
:::: The big remaining improvement would be not having to add "synthesis  = {cost}" to every article manually, and manually update the numbers whenever they go out of date.  This is pretty easy maintenance compared to the admin-only file upload stuff, but still it would be nice if each article magically reported the number and provided a link to Catagolue only if the synthesis actually exists on Catagolue.  At the moment, articles like [[Snake pit 2]] that have an apgcode but no known synthesis are cheerfully serving up a link to Catagolue that says [https://catagolue.appspot.com/textsamples/xp3_g8o0eh5mggz122q92t0643zy011/b3s23/synthesis/snakepit2_synth.rle "null"].


* mod = Shows the [[mod]] for the pattern
:::: So ... is there a clever template-y way to improve on this?  We could import the subset of apgcodes from Catagolue's synthesis-cost list that we have articles for on the LifeWiki, and set that list up as a lookup table, for starters.  Then maybe the update problem would be reduced to just updating that subset synthesis-cost list now and then. (?) [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 16:48, 24 April 2019 (UTC)
* noviewer = If false, then LifeViewer will not appear in the infobox. Good temporary fix for pages I messed up, like [[waterbear]].
* rlelink = Specifies a different link to a page in the RLE:namespace, so I can perhaps link to [[RLE:waterbear-rle]] without having to change the name of the pattern within the infobox and screw up LifeViewer even more.


- [[User:AwesoMan3000|AwesoMan3000]] ([[User talk:AwesoMan3000|talk]]) 20:25, 17 July 2016 (UTC)
::::: Quick reply, since Dave asked me to chime in, and I'll admit I've only skimmed over the preceding discussion --- with glider syntheses being handled by Catagolue / Shinjuku now, it would obviously be ideal for the LifeWiki to simply pull in glider synthesis information from Catagolue. That is to say:


:Another few:
:::::# When a page's parser cache is updated (e.g. when a page is edited), and an apgcode is provided in the infobox template, LW should:
:::::## poll Catagolue;
:::::## perform a sanity check; and
:::::## use that information (perhaps marked in some way to indicate external data) in the infobox, as well as for categories.
:::::# When there is an apgcode, and there is a local synthesis, and Catagolue either doesn't have any synthesis or the one it has is worse than the local one, LW should:
:::::## use the local synthesis; and
:::::## add the page to a tracking category so Shinjuku's DB can be updated. (In the long run, ideally there'd be no such cases --- this'd be a temporary measure, and in fact it might not even be necessary.)
:::::# When there is no apgcode, LW should:
:::::## use a local synthesis if there is one; and
:::::## also add the page to a (different) tracking category, as I believe it already does.


* systematicname = Shows the systematic naming code for the pattern
::::: The big problem with this is the "poll Catagolue" bit. I'm not aware of a way for MW templates to programmatically make external requests and process the results.
* apgcode = The pattern's apgcode


:So in the case of copperhead:
::::: It could be done client-side, in Javascript, but I believe we don't want that. There's at least two big advantages to doing it server-side:


*Mod = 10
:::::# consistency: every user sees the same data; and
*Systematic name = 28P10H1V0
:::::# sustainability: if Catagolue is only polled when the page cache is updated, i.e. when Mediawiki re-evaluates templates etc., Catagolue will not be hit with a request every time someone views a LifeWiki page.
*apgcode: xq10_o5995ozes88sezw33


:Where those last two would be located in the onto box I do not know. Mod would be directly under period, and the result of rlelink would of course replace the "raw RLE code" link.
::::: That still leaves several more avenues:


:- [[User:AwesoMan3000|AwesoMan3000]] ([[User talk:AwesoMan3000|talk]]) 21:02, 22 July 2016 (UTC)
:::::# on-wiki Lua scripting (MW supports this with an appropriate extension, though the LifeWiki doesn't);
:::::# using a bespoke Mediawiki extension; and
:::::# keeping things as they are, but using a bot that runs (un|semi)supervised to update template parameters when things change on Catagolue's / Shinjuku's side (the bot in turn could be fed by data pushed out by Catagolue, say an RSS or Atom feed of new/improved syntheses that Catagolue would generate automatically and that the bot would poll periodically).


::I'm not sure putting the apgcode in the infobox is a good idea. I considered this back in spring, but ultimately ended up creating [[Template:LinkCatagolue]] instead. There's several reasons for this.
::::: Unfortunately I can't help with any of these. (I couldn't help with templates either, but that's a different story.)


::# First of all, apgcodes are primarily used on Catagolue so far; they haven't (yet) caught on as general descriptors. As such it makes sense to use them in the External Links section, to link to Catagolue specifically.
::::: I don't know if any of this is useful --- but as I said, Dave asked me to chime in, and who am I to say no to that? [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 15:14, 27 April 2019 (UTC)
::# Second, apgcodes can grow without bounds. Gliders, beehives, blinkers etc. have short codes that are easily memorized; larger objects (say, [[112P51]]) do not. Overly long codes would break the infobox layout when they're displayed.
::# Third, apgcodes are generally more suitable for consumption by machines than humans. Longer codes in particular can be confusingly similar despite encoding different objects (contrast e.g. xp30_w33z8kqrqk8zzzx33 and xp30_w33z8kqrqk8zzzw33, the trans- and cis-queen bee shuttles).


::Conversely, I don't see any advantages to adding apgcodes to the infoboxes for the time being.
:::::: Maybe it could be linked in with the Catagolue update process. At the moment, syntheses on Catagolue are added/updated in a very precise manner:


::One thing I'd like to do in the medium to long term is tweak the infobox templates to produce machine-parseable data describing patterns in a suitable microformat in addition to displaying a human-readable infobox; for this, apgcodes would then be useful to add (and you'd have the template add them to the machine-parseable data without displaying them in the infobox proper). But that's neither here nor there, and we'd need to lay the foundations before devoting time to implementation details: develop an ontology and write it up in a suitable language (OWL?), at the very least, and only THEN could we start tweaking the templates.
::::::# A GitLab CI runner is launched;
::::::# The entire textcensus of current synthesis costs (but not the syntheses themselves) are downloaded from Catagolue;
::::::# Shinjuku is downloaded, and minimum paths to all objects are computed;
::::::# Only the syntheses with lower cost than Catagolue are generated;
::::::# These syntheses are uploaded (as RLEs) in batches of 1000.


::For now, let's focus on producing decent (informative, useful) articles for human readers. [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 10:46, 25 July 2016 (UTC)
:::::: Since LifeWiki need only display the synthesis ''cost'' in the infobox, rather than the synthesis (which is available with an external link), then I guess this update process could additionally upload the entire set of synthesis costs to LifeWiki into some page which is queried by the infoboxes.


::: Mostly irrelevant side note:  apgcodes can certainly grow big enough to be awkward in an infobox, but it's only mostly true that they can grow without bounds.  A pattern over 40 cells wide would need a definite official ruling on how to encode longer strings of 0s.  Quoting Apple Bottom from [[Apgcode|the apgcode article]]:
:::::: Of course, this raises the question: how can an external process upload to LifeWiki? That external process can contain secret environment variables (and indeed does, to securely push updates to the live Catagolue). I believe you had an [[User:Apple Bot]] which automated things -- does that run externally? [[User:Calcyman|Calcyman]] ([[User talk:Calcyman|talk]]) 22:52, 27 April 2019 (UTC)
 
::: <blockquote>(Theoretically, runs of more than 39 zeroes should be replaced by 'yz' followed by the coding for the remaining zeroes. At the moment apgsearch labels everything larger than 40x40 as 'oversized' and refuses to process it.)</blockquote>
 
::: I'd agree that one or more '''yz''', followed by one more '''y'''-something to get to the required length, is the easiest and most obvious way to extend the apgsearch format to encode patterns bigger than 40x40.  But it might be worth thinking about a little bit, to see if it might be worth adding a marker that allows arbitrarily large (base 40?) counts to be encoded.  At the moment, sufficiently large sparse patterns can be encoded much more efficiently in RLE format, because RLE can encode long distances of emptiness in a logarithmic number of characters, where apgcode is currently stuck with a linear encoding... a much more efficient encoding, but still linear.
 
::: I think most current Golly scripts that deal with apgcodes are lifted fairly directly from the old Python apgsearch, so they would similarly fail to handle patterns that need more than thirty-nine 0s, so it would be good to publish "official" encoder and decoder scripts somewhere -- maybe in Lua as well as Python.  [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 15:25, 25 July 2016 (UTC)
 
::::Touché. (Of course, I must point out I didn't write that bit -- the edit's [http://conwaylife.com/w/index.php?title=Apgcode&diff=prev&oldid=23644 due] to [[User:Rich Holmes|Rich Holmes]], and is lifted straight from the [https://catagolue.appspot.com/help/wechsler.txt wechsler.txt] file on Catagolue.)
 
::::To split a hair, though, I think this is an issue of decoding vs. encoding. Given an apgcode of the form ...<tt>yzy1</tT>..., it's obvious that this corresponds to a run of 44 zeros, and even absent a formal specification or test suite I think decoders should treat it as such. It's the encoding part that's problematic, since there's no Word of God on which apgcode should be canonical.
 
::::Indeed, although encoding a run of 44 zeros can be encoded as <tt>yzy1</tt>, it can also be encoded as <tt>y1yz</tt>, which would retain the overall code's length but precede it lexicographically, so a crafty encoder could emit this instead when faced with such a pattern. In fact it could also emit <tt>wxyz</tt> instead. (<tt>0y0yz</tt> would yield a longer code and should thus be rejected.)
 
::::I'm tempted to suggest encoding long runs of zeros using a base-36 notation, where <tt>y#</tt> encodes ''<tt>#</tt> + 4'' consecutive zeros, with <tt>#</tt> given in base-36, but since arbitary base-36 digits that aren't part of the code may follow, it would require a stop marker. This would break all existing codes that don't have one, so it's not feasible.
 
::::What is feasible is repurposing unused letters to indicate how many base-36 digits the number <tt>#</tt> has. For instance, if the <tt>z</tt> digit were used, with ''n'' <tt>z</tt>'s indicating ''n + 1'' digits, code fragments such as <tt>yzzz####</tt> would be unambiguous, and the codes <tt>y0</tt> ... <tt>yy</tt> would remain unchanged. A run of 44 zeros would be encoded as <tt>yz14</tt> with this scheme.
 
::::This could still be done: a quick check of my files reveals that there are not currently any objects on Catagolue containing either <tt>yz</tt> or <tt>yy</tt> (though there are two containing <tt>yx</tt>, an [https://catagolue.appspot.com/object/xp412_y7444y04bp3zzwezgg8gyrgg08oz32011yr1211zyxezzyeojq4y0444/b358s23 xp412 in B358/S23] and the [https://catagolue.appspot.com/object/xq190_33y1g88gzy133433zyeskszzyjcmm8zyx352/b38s23 ship-pulling xq190 in B38/S23] (one variant, anyway).
 
::::So that's two ways out I see:
 
::::# clarify how runs of more than 40 zeroes are encoded (greedy, e.g. <tt>yzy1</tt>; based on length/lexicographic order, e.g. <tt>wxyz</tt>; or other, to be specified), or
::::# repurpose <tt>yz...</tt> to encode longer runs (e.g. <tt>yz14</tt>).
 
::::I personally prefer the first, since it requires no changes to existing decoders, and since I'm not so convinced people are going to want to encode extremely large patterns as apgcodes anyway (as you point out, file formats such as RLE are better suited to that task.) For that matter I also prefer the greedy algorithm, since that'd be easiest to implement.
 
::::BTW -- should we move this discussion to the forums? I've started a thread [http://www.conwaylife.com/forums/viewtopic.php?f=7&t=2307 here], soliciting input from others. [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 16:40, 25 July 2016 (UTC)
 
Kind of related: should we include the "raw RLE code" on all pages with them, alongside the regular RLE link? Doesn't seem way too useful, but hey. - [[User:AwesoMan3000|AwesoMan3000]] ([[User talk:AwesoMan3000|talk]]) 16:17, 1 August 2016 (UTC)
::It's nice to have the raw RLE link available if no commented RLE file has been uploaded.  If we have a complete commented RLE file, a link will show up for that instead of the raw RLE.  That all seems to me to be working fine just the way it is.
::It would be nice if someone could put together code that would find any LifeWiki articles that have no uploaded commented RLE files, but do have raw RLE -- and build a simple commented RLE from the raw version.
::I could put together something along these lines without too much trouble, I think -- but I would then have to upload the resulting files one at a time, or write some separate silly automation script to do that work for me.  Here's hoping there's a better way out there somewhere (?) [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 17:10, 3 August 2016 (UTC)
 
:::Finding pages that have raw RLE code but no uploaded file can be accomplished fairly easily by tweaking the pattern templates to put such pages into a (hidden) tracking category. I can go ahead and take care of that.
 
:::Automatically generating RLE files wouldn't be too much trouble either, but an administrator would have to upload them. I'll leave this part to someone else. ;) [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 20:56, 4 August 2016 (UTC)
 
:::EDIT: Here's the tracking category: [[:Category:Pages with raw RLE code but no uploaded pattern files]]. It's empty at the moment, which indicates that either a) no such pages exist, or b) MediaWiki hasn't updated category membership information for all pages that transclude [[Template:PatternDownload]] yet. Without knowing off-hand how MediaWiki's internal queue for this sort of thing works, my money's on a). (Yay!) [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 21:14, 4 August 2016 (UTC)
 
::::How about [[Grandfather_problem]]? Shouldn't that be showing up on [[:Category:Pages with raw RLE code but no uploaded pattern files]]?  I tried to create another instance, [[P11 pinwheel]], but it's not appearing either.
::::-- Also noticed that [[:Category:Pages without pattern files]] has a surprisingly reasonable number of entries -- someone could clean all of those up without too much effort. [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 14:54, 21 September 2016 (UTC)
 
:::::The logic used in [[Template:PatternDownload]] to put pages into [[:Category:Pages with raw RLE code but no uploaded pattern files]] was wrong. I believe it should work now. (Famous last words!)
 
:::::Since I think it may be of general interest, I'd also like to quote from a PM sent to dvgrn on the forums regarding this issue, which has some background on MediaWiki template/... syntax, what the problem was, and what other features of the software mean for us. (Keep in mind that although I have some experience with MediaWiki I'm no wizard, and take what I say with a grain of salt, a slice of lime and a shot of tequila):
 
::::::<nowiki>[...]</nowiki> Curly braces are being used by MediaWiki for many different things, among them: template inclusion/page transclusion, e.g. <tt><nowiki>{{SomeTemplate}}</nowiki></tt>; accessing template parameters within a template, e.g. <tt><nowiki>{{{1}}}</nowiki></tt> or <tt><nowiki>{{{someparam}}}</nowiki></tt>; parser functions, e.g. <tt><nowiki>{{#if:...}}</nowiki></tt> or <tt><nowiki>{{#expr:...}}</nowiki></tt>; and MediaWiki table syntax, where tables are introduced with a <tt><nowiki>{|</nowiki></tt> and wrapped up with a <tt><nowiki>|}</nowiki></tt>.
 
::::::What's more, pipes are also used for several different things, notably: to separate parameters in a template call, e.g. <tt><nowiki>{{SomeTemplate|param1=foo|param2=bar}}</nowiki></tt>; in parser functions, to separate different parts of certain expressions, e.g. <tt><nowiki>{{#if:condition|value-if-true|value-if-false}}</nowiki></tt>; and (again) in MediaWiki tables, when a table is begun with a <tt><nowiki>{|</nowiki></tt>, when a new row is started with a <tt><nowiki>|-</nowiki></tt>, and when a table cell is introduced with a <tt><nowiki>|</nowiki></tt> (they appear in more places still in tables).
 
::::::One of the consequences of MediaWiki's ad-hoc syntax is that pipes in e.g. tables clash with the parser function syntax. Template calls and parser functions are evaluated before wiki markup (including tables) gets converted to HTML, so the pipes in tables must be protected against being interpreted as separators. The usual solution is to have a template called <tt><nowiki>!</nowiki></tt> (i.e. [[Template:!]]), which only contains a single pipe and which gets included as <tt><nowiki>{{!}}</nowiki></tt> whenever a pipe symbol must survive the template call/parser function step intact. Unfortunately this further increases the amount of curly braces used, and <tt><nowiki>!</nowiki></tt> is itself used in MediaWiki table syntax (for table header cells), so for a human reader it's not making things any easier.
 
::::::As for why why e.g. [[Grandfather Problem]] isn't showing up in the tracking category: looking at [[Template:PatternDownload]] again I think the logic used in that template to put pages into the category was faulty. There was (and still is) a test to see if there's any downloadable patterns for a page:
 
::::::<tt><nowiki>{{#if: {{{zip|}}}{{{mc|}}}{{{life105|}}}{{{life106|}}}{{{plaintext|}}}{{{rle|}}}{{#ifexist:RLE:{{{pname}}}|true|}} | ...</nowiki></tt>
 
::::::(This concatenates all the parameters to see if any were passed with a non-empty value, and also adds a "true" (i.e. a non-empty string) if a raw RLE snippet exists for a page; if any pattern exists, the whole thing evaluates to a "true" value for the purpose of <tt><nowiki>{{#if:}}</nowiki></tt>.)
 
::::::There was an "else" branch (as it were) to that <tt><nowiki>{{#if:}}</nowiki></tt> later on which tested for the presence of a raw RLE snippet and added the tracking category if there was one. However, if there was such an RLE snippet the "else" branch of that <tt><nowiki>{{#if:}}</nowiki></tt> would never be run in the first place, so the category was actually never added to pages. <nowiki>[...]</nowiki>
 
::::::As for the category itself -- it does not currently list all pages that should be in it due to MediaWiki's internal page cache / job queue, but it should populate itself in due time. (This is a feature primarily intended for large wikis where templates might be transcluded on hundreds of thousands of pages; synchronously updating category membership information for all of these when the template is saved would be impractical, to say the least.)
 
::::::Individual articles '''should''' show the correct category if you've disabled page caching in your user preferences; if they don't, then doing a null edit (editing and clicking Save without making any changes) should fix this, or alternatively you can purge MediaWiki's cached version of that page by adding <tt><nowiki>?action=purge</nowiki></tt> to the page's URL. (The page cache is shared across all users, so this will fix it for everyone.) I don't recall off-hand what the maximum age is after which page cache entries are considered stale, but it can't be too high, so simply waiting for a bit will also mean any page whose cache has not been purged yet will magically fix itself.
 
::::: [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 18:26, 27 September 2016 (UTC)
 
::::::The new category is looking good now!  The count of pages in the category stabilized at a hundred and thirty-odd, so I grabbed all the links and wrote a Python script to create commented RLE files using page title, infobox "discovered by", and pname.
::::::The script creates the files just fine, but there are some problems I'm noticing with pnames.  I filtered out the weird ones; here are the problem cases so far:
::::::[[http://conwaylife.com/wiki/Barge_with_long_tail Barge_with_long_tail]], [[http://conwaylife.com/wiki/Boat_on_aircraft Boat_on_aircraft]], [[http://conwaylife.com/wiki/Boat_on_snake Boat_on_snake]], [[http://conwaylife.com/wiki/Boat_with_hooked_tail Boat_with_hooked_tail]], [[http://conwaylife.com/wiki/Boat_with_very_long_tail Boat_with_very_long_tail]], [[http://conwaylife.com/wiki/Carrier_with_feather Carrier_with_feather]], [[http://conwaylife.com/wiki/Cis-boat_with_nine Cis-boat_with_nine]], [[http://conwaylife.com/wiki/Cis-long_boat_with_tail Cis-long_boat_with_tail]], [[http://conwaylife.com/wiki/Cis-rotated_hook Cis-rotated_hook]], [[http://conwaylife.com/wiki/Claw_with_tub_with_tail Claw_with_tub_with_tail]], [[http://conwaylife.com/wiki/Eater_head_siamese_carrier Eater_head_siamese_carrier]], [[http://conwaylife.com/wiki/Eater_head_siamese_snake Eater_head_siamese_snake]], [[http://conwaylife.com/wiki/Eater_tail_siamese_carrier Eater_tail_siamese_carrier]], [[http://conwaylife.com/wiki/Eater_tail_siamese_snake Eater_tail_siamese_snake]], [[http://conwaylife.com/wiki/Eater_with_cape Eater_with_cape]], [[http://conwaylife.com/wiki/Extra_long_hook_with_tail Extra_long_hook_with_tail]], [[http://conwaylife.com/wiki/Extra_long_shillelagh Extra_long_shillelagh]], [[http://conwaylife.com/wiki/Fuse_with_tail_and_long_tail Fuse_with_tail_and_long_tail]], [[http://conwaylife.com/wiki/Hungry_hat Hungry_hat]], [[http://conwaylife.com/wiki/Integral_with_long_hook Integral_with_long_hook]], [[http://conwaylife.com/wiki/Integral_with_tub_and_hook Integral_with_tub_and_hook]], [[http://conwaylife.com/wiki/Integral_with_two_tubs Integral_with_two_tubs]], [[http://conwaylife.com/wiki/Long_prodigal Long_prodigal]], [[http://conwaylife.com/wiki/Tub_with_cis-tail Tub_with_cis-tail]], [[http://conwaylife.com/wiki/Very_long_integral Very_long_integral]], [[http://conwaylife.com/wiki/Very_very_long_boat Very_very_long_boat]], [[http://conwaylife.com/wiki/Very_very_long_canoe Very_very_long_canoe]].  (Update:  all these are fixed, I think -- new pnames match new raw RLE location, so the LifeViewer works, and now static images have been moved also.)
::::::Looks like the pname is being defined as identical to the name in a lot of these cases --
<nowiki>|name        = Boat on aircraft
|pname        = Boat on aircraft</nowiki>
:::::: -- where it should be pname=boatonaircraft, at least according to the [[http://www.conwaylife.com/wiki/LifeWiki:Pattern_pages how-to-contribute page on Patterns]].
::::: Would anyone care to volunteer to repair all these pnames, and move the relevant RLE:{pname} pages... or shall I just go ahead and do it? [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 22:44, 29 September 2016 (UTC)
Also -- many or most of the above linked patterns are recently-added named still lifes from Catagolue, I think.  Is there a reasonably standard recommended LifeViewer config line for small still lifes, or shall I make one up?  [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 14:34, 30 September 2016 (UTC)
 
:Oh, I'd say you go ahead and do it. ;) The images will have to be moved as well when the pname's changed, of course. [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 11:21, 1 October 2016 (UTC)
 
::I tried fixing the last link, "Very_very_long_canoe", and the pname move worked fine, but the image didn't turn into a LifeViewer instance when I added a viewerconfig line.  I admit that this is currently fairly pointless for still lifes -- the LifeViewer just serves as a very complicated generator of a still image, though with some awesome zooming/rotating/panning/coloring options...
 
::However, that could change if LifeViewer starts supporting experimental editing, or selecting/copying patterns.  Is there anything else I've forgotten that would enable the LifeViewer, or is that just not something that happens in still-life infoboxes?
 
::When I figure all these details out, I should probably update the [[http://www.conwaylife.com/wiki/LifeWiki:Pattern_pages pattern how-to pages]] to mention the viewerconfig line, and raw RLE:pname pages and so forth.  Hints and advice gratefully accepted.  For the time being I probably won't bother adding useless viewerconfig lines to the other mis-pnamed still lifes.  [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 13:13, 3 October 2016 (UTC)
 
:::It's been a bit, but IIRC [[Template:Oscillator]] and [[Template:Spaceship]] were specifically modified to support an embedded viewer, while other pattern templates weren't. I'll go ahead and edit [[Template:Stilllife]] accordingly.
 
:::BTW, one of the "would-be-nice-in-the-long-term" items on my to-do list is modifying the various pattern templates to use a common base template (so that only that base would have to be modified to support such things as an embedded viewer. But that's something that would have to be discussed and planned first, obviously. -- [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 19:01, 4 October 2016 (UTC)
 
:::P.S. -- done, and it seems to be working on [[Very very long canoe]]. Still life-specific configuration for the LifeViewer is in [[Template:LifeViewer config/stilllife]]. I've also fixed a minor problem in [[Template:Oscillator]] for patterns with no uploaded image or pattern file/raw RLE (of which there shouldn't be any). [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 19:08, 4 October 2016 (UTC)
 
::::Thanks -- the long term was impressively short in this case...!  I've gotten a script to generate pattern RLE for all of the [[:Category:Pages with raw RLE code but no uploaded pattern files]], and uploaded them all.  Now it's just a matter of changing nofile=true to rle=true, and fixing the pname for patterns in the list of links above.  Don't need to add a viewerconfig line at all, right? -- unless I don't like the defaults.
 
::::rle=true successfully removed [[112p5]] from the category list.  I tried getting a viewer for the first two items on the list, which were [[(27,1)c/72 Herschel climber]] and [[(34,7)c/156 Herschel climber]], but those are in an odd "Crawler" category which I'm guessing isn't set up quite the same as the main categories.
 
::::I'm ignoring the problem of getting _synth files available for the synthesizable small stable patterns, and keeping the patterns and glider counts up to date.  Will try to keep that on the back burner until the next version of Mark Niemiec's glider synthesis database becomes available.  It might get a sizable update any month now, or at least any year, and possibly also a new URL.  If the new URL seems likely to be stable, maybe it will make sense to provide direct links to the patterns on Mark's site, instead of copying them one-by-one to the conwaylife pattern collection. [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 12:57, 6 October 2016 (UTC)
 
:::::Is there a good trick for moving an image file to match an edited pname?  So far I've only tried with [[http://conwaylife.com/wiki/Special:FileDuplicateSearch/Barge_with_long_tail.png this case]], but didn't like the results.  All the attribution information would have to be re-entered for the new copy (I think) and then the old copy could be deleted.  Seems a little silly.  Would a redirect work, maybe?  [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 17:41, 6 October 2016 (UTC)
 
::::::Images can be [[Special:MovePage|moved]] just like other pages; there's a menu item in the dropdown menu. This'll leave all metadata intact, including the original upload date and uploader, file description, and so on.
 
::::::Moving an image will also create a file redirect which we may not need, but that can be deleted easily, or even just left for now &mdash; it's harmless after all. [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 22:43, 6 October 2016 (UTC)
 
::::::P.S. -- I've moved the affected images. Since you already uploaded a new copy of [[:File:Barge with long tail.png]], I'd suggest we delete [[:File:Bargewithlongtail.png]] and then move the old one to the new and proper name. I'd do this myself, but I'm not an administrator and cannot delete pages. -- [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 23:03, 6 October 2016 (UTC)
 
:::::::Okay, [[:File:Bargewithlongtail.png]] is now the right file. Thanks!  On to the remaining no-rle-file patterns, which I think all actually have correct {pname}.rle files but just don't know it yet. -- [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 13:36, 7 October 2016 (UTC)
 
::::::::Now they know.  Ha -- take that, you [[:Category:Pages with raw RLE code but no uploaded pattern files]]! [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 22:00, 19 October 2016 (UTC)
 
:::::::::Too bad the LifeWiki doesn't have barnstars like Wikipedia does. You'd certainly deserve one for all the work you put in there -- excellent job clearing that category. :) [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 22:20, 19 October 2016 (UTC)
 
:::::::::P.S. I do apologize for already having created more work for you again, in the form of [[128P10.2]] and [[48P22.1]]. -- [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 09:51, 20 October 2016 (UTC)
 
::::::::::No problem! A few at a time are easy to keep up with.  The big group of new RLEs was generated with a script, but I won't bother with that unless the category page fills up again.
 
I'm vaguely worried about the pnames for these new objects, though.  I suppose it will happen rarely if ever that there would be both a 48P22.x and an actual 48P22x (for x=digit 1 to 9).  Guess there's no harm in waiting to cross that bridge if we ever come to it. [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 02:16, 24 October 2016 (UTC)
 
:::::::::::True, that COULD be an issue down the road. Are there any reasons why we don't have periods in pnames so far anyway? The only OS/filesystem I can think of right now that could potentially have issues with having multiple periods in a filename (as in e.g. <tt>48p22.1.rle</tt>) is MS-DOS/FAT16, but that's going to run into other problems anyway, e.g. with long filenames. 'sides nobody uses DOS anymore, right?
 
:::::::::::We don't have too many of these, FWIW. Looking at [[:Category:Oscillators]], I can only see the following: [[123P27.1]], [[128P10.2]], [[28P7.1]], [[42P10.1]], [[44P12.2]], [[48P22.1]], [[54P17.1]], [[65P13.1]], [[68P32.1]], [[92P33.1]] and [[94P27.1]]. None of those seem particularly "dangerous" to me; oscillators with three-digit periods and two-digit minimum populations aren't gonna be that common. And 28P71 &mdash; well, 71 is prime.
 
:::::::::::[[:Category:Spaceships]] contains no patterns right now where there would any ambiguity, BTW. All "dotted" ships move horizontally.
 
:::::::::::There's also a couple of oscillators where the pname DOES already include a period, BTW, namely [[134P39.1]], [[168P22.1]], [[18P2.471]], [[28P7.2]] and [[44P7.2]]. So there's prior art for doing that.
 
:::::::::::If we decide to change this we'll have to amend [[LifeWiki:Pattern pages]], which currently states that the pname should be "''[t]he name of the pattern being described, but converted to lowercase and with all non-alphanumeric characters and spaces removed''". OTOH I think most people (myself included) create patterns by copying existing pattern pages and editing them as required. ;) -- [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 09:57, 24 October 2016 (UTC)
 
== Smallest oscillators of a certain period? ==
 
I think it might be useful to have a category page which shows all oscillators that are currently the smallest oscillator of their period. (In terms of cells). Thoughts? [[User:Gmc nxtman|Gmc nxtman]] ([[User talk:Gmc nxtman|talk]]) 16:41, 14 August 2016 (UTC)
 
: If population is the only measure, there's an absolute ceiling for oscillator size no matter how big the period gets.  The "smallest" oscillator will often be a big eight-glider loop made of [[Snark]]s, or I guess maybe just a couple of [[rectifier]]s.  Just need to make sure no one is tempted to add pages for each such oscillator... but I suppose that's not likely to be a problem.  Maybe only include oscillators with period less than 43, or maybe less than 100 since the rectifier's repeat time is 106? [[User:Dvgrn|Dvgrn]] ([[User talk:Dvgrn|talk]]) 13:55, 21 September 2016 (UTC)
 
== Pattern collection archive ==
 
I noticed that the [http://www.conwaylife.com/patterns/all.zip pattern collection] linked on the [[Main Page]] only contains RLE files anymore, not files in other formats (Life 1.05, Life 1.06, Macrocell, Plaintext). That's fine in principle, I think; RLE has been established as a standard, and we probably don't need to provide Life 1.05, Life 1.06 or Plaintext files.
 
However, there's a couple of patterns that are now missing entirely from the archive, large patterns that are only available in Macrocell format. Specifically, the following files are gone:
 
* caterpillar.mc
* centipede.mc
* demonoid.mc
* parallelhbk.mc
* shieldbug.mc
* succ.mc
 
Would be nice if the script generating the archive could be modified to include those again. Oh, and while I'm at it: the <tt>_README_.TXT</tt> file should perhaps be updated as well to reflect the fact Plaintext and Life 1.05/1.06 files aren't included anymore.
 
One more thing: the archive contains two different "[[B29]] with gliders" files, <tt>B29withgliders.rle</tt> and <tt>b29withgliders.rle</tt>. This is probably unintended, and also causes problems on case-insensitive filesystems. [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 11:24, 8 October 2016 (UTC)
 
== EmbedViewer template ==
 
{{EmbedViewer
|pname        = richsp16
|viewerconfig = #C [[ THEME 6 GRID GRIDMAJOR 0 THUMBLAUNCH AUTOSTART GPS 4 THUMBSIZE 2 ]]
|caption      = [[Rich's p16]]
}}
Quick heads-up: I created a new template for easily embedding LifeViewers in article, [[Template:EmbedViewer]]. It should be largely self-explanatory; the example shown to the right was generated using the following template call:
 
<nowiki>{{EmbedViewer</nowiki>
<nowiki>|pname        = richsp16</nowiki>
<nowiki>|viewerconfig = #C [[ THEME 6 GRID GRIDMAJOR 0 THUMBLAUNCH AUTOSTART GPS 4 THUMBSIZE 2 ]]</nowiki>
<nowiki>|caption      = [[Rich's p16]]</nowiki>
<nowiki>}}</nowiki>
 
The template itself has some basic documentation for its parameters. Default CSS style and LifeViewer configuration could probably still be tweaked, but it's a start and should make things a bit easier. [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 10:36, 9 October 2016 (UTC)
 
== Clearing out [[:Category:Proposed deletion]] ==
 
I've gone and removed the low-hanging fruit from [[:Category:Proposed deletion]] by deleting the uncontroversial cases where there is almost certainly consensus for deletion. There are now 9 subcategories, 8 pages and 7 files left; for these, I'd like to start a discussion before doing anything.
 
My suggestions are:
 
* [[:Category:Oscillators with 284 cells]]
* [[:Category:Oscillators with heat 54]]
* [[:Category:Oscillators with heat 76]]
* [[:Category:Oscillators with period 155]]
* [[:Category:Oscillators with period 186]]
* [[:Category:Patterns found by GraviPy]]
* [[:Category:Patterns that can be constructed with 111 gliders]]
* [[:Category:Patterns with 162 cells]]
* [[:Category:Spaceships with heat 10]]
 
:Although these are currently empty, they could be of use in the future, so I'm inclined to keep them. OTOH they clutter up the category tree and the DynamicPageList templates, and there is nothing in any of them that couldn't easily be recreated if and when they are needed again. I'm on the fence about these.
 
* [[:Category:Asymmetric patterns]]
 
:[[User:Fractal Fusion]] reworked our symmetry-related category/template infrastructure back in late March/early April this year, and (IIRC) felt that there was no need to have a category for patterns lacking any kind of specific symmetry. I disagree with this; collecting asymmetric patterns in a category allows us to distinguish pages which have no symmetry from those which have not had their symmetry specified yet.
 
:That said I also believe that symmetry should be specified as part of the pattern infobox; and having a <tt>symmetry=</tt> parameter there would in turn allow a proper tracking category to be created, so this category would then not be necessary anymore at all. (That discussion, however, is for a later date.)
 
* [[Augmented still life]]
* [[Primitive still life]]
* [[String]]
* [[Vessel]]
 
:Glossary articles without references. I'm on the fence with regard to whether these should be in the main namespace, but if the consensus is that they shouldn't, I'd suggest moving them to subpages of the users that created them instead of deleting them outright.
 
::As the creator of all four: the first three are not ''glossary'' articles, as much as ''analysis'' articles, as a part of a project to impose some order on still life and more generally pattern classification (beyond fairly robust metrics such as cell count or bounding box). (In Wikipedia terms, they would clearly count as "original research".)
::I have not lately found time to work with GoL in any extent, such as to flesh these pages out further, much less to work on an actual (non-wiki) article I have planned on the topic. (This would e.g. include an approximate generating grammar for strings.) If people wish to move these pages to userspace, go ahead. --[[User:Tropylium|Tropylium]] ([[User talk:Tropylium|talk]]) 12:06, 21 February 2017 (UTC)
 
* [[Glider 7171]]
* [[:File:Plasmabursterinverted.png]]
 
:A spaceship that does not exist in Conway Life. My suggestion is adding a section on it to the [[Live free or die]] article and delete this article. Alternatively this article could be moved to a subpage of the user that created it as well, but we should not use the standard [[Template:Spaceship|spaceship template]] then to avoid category pollution. The image can be kept or deleted as necessary.
 
* [[Mangled1beacon synth.rle]]
* [[RLE:Mangled1beacon synth]]
 
:We do not currently collect synthesis RLEs, and this one is in the wrong namespace anyway. My suggestion is to delete this for now. (And re: adding synthesis RLEs in general, I think Mark Niemiec is already doing a terrific job, so we don't have to; but that, too, is a discussion for another day.)
 
* [[UNTITLED]]
 
:This was used by the SimpleForms extension; since that extension is not currently installed anymore I believe the page can be deleted, but I'd like to get [[User:Nathaniel]]'s OK for this first.
 
* [[:File:AGARONION.GIF]]
* [[:File:DIPNAG.GIF]]
* [[:File:LILFIRE.GIF]]
* [[:File:ORPNAG.GIF]]
* [[:File:PNDRNG.GIF]]
 
:These can probably be deleted; we have better versions of all of them.
 
* [[:File:P35hfhassler.png]]
 
:We have a better version of this, too, but I only just proposed deletion yesterday, and don't want to delete it so quickly myself without input from others.
 
[[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 12:32, 13 October 2016 (UTC)
 
:I've also PD'ed three more:
 
:* [[:Category:Patterns with D1 symmetry]]
:* [[:Category:Patterns with D2 symmetry]]
:* [[:Category:Patterns with D4 symmetry]]
 
:These are all empty, and they're not part of our current symmetry infrastructure. What's more, their content is misleading (as far as I can tell) in that what they describe is actually D2, D4 and D8 symmetry, respectively. My suggestion is to delete all these. [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 10:54, 17 October 2016 (UTC)
 
== LifeViewer for eaters ==
Should we put LifeViewer applets in pages about eaters so we can view their eating sequences? - [[User:AwesoMan3000|AwesoMan3000]] ([[User talk:AwesoMan3000|talk]]) 08:45, 2 November 2016 (UTC)
 
== Template and pages for agar crawlers. ==
 
So I'm thinking this should be something pretty similar to the spaceship template. Not sure how lifeviewer would handle it though. - [[User:AwesoMan3000|AwesoMan3000]] ([[User talk:AwesoMan3000|talk]]) 13:23, 17 December 2016 (UTC)
 
== Pattern infobox: "Identifiers" section ==
 
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:
 
* [[apgcode]]s, as used on [[Adam P. Goucher]]'s [[Catagolue]];
* 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.
 
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.
 
Existing pattern templates have been updated to use this new template. The following new parameters are available on all pattern templates:
 
* <tt>apgcode=</tt>
* <tt>niemiecid=</tt>
* <tt>pentadecathlonid=</tt>
 
What remains to be done:
 
* Add these new parameters to pattern templates where appropriate.
* 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.
 
-- [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 12:17, 11 January 2017 (UTC)
 
: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.)
 
: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.
 
: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.
 
: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)
 
::The <tt>pentadecathlonid=</tt> parameter seems to be bugged. - [[User:AwesoMan3000|AwesoMan3000]] ([[User talk:AwesoMan3000|talk]]) 15:25, 2 July 2017 (UTC)
 
:::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.
 
:::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.
 
:::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.
 
:::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)
 
== OEIS templates ==
 
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.
 
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.
 
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)
 
: 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)
 
== Direct links to syntheses ==
 
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.
 
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.
 
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)
 
: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.)
 
: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.
 
: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.)
 
: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.)
 
: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)
 
:: 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)
 
:::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.)
 
:::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)
 
== Creating "standard" images, RLE:pname pages, and where to use LifeViewer ==
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 image.  What would be a good modern easy way to generate images -- maybe online via some variant of LifeViewer?
: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 start.  But 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>
 
:: -- 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. (?)
:: 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)
: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! ==
 
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
 
: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.
 
: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)
 
== Unable to replace old synthesis files? ==
 
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?
 
[[User:gmc_nxtman|-- gmc_nxtman]] ([[User talk:gmc_nxtman|talk]]) 20:03 UTC, Jul 15 2017
 
: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.
 
: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.
 
: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.
 
: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.
 
:--[[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 20:30, 15 July 2017 (UTC)
 
== Listing multiple discoverers in pattern infoboxes ==
 
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.
 
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.
 
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.
 
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)
 
== Niemiec IDs in pattern infoboxes ==
 
I've started filling in ID number for Mark Niemiec's pattern database in pattern infoboxes. Still lifes are done, with the following exceptions:
 
* Still lifes with population eight or less do not have numbers, and are instead referred to by name in Mark's DB.
* 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.
 
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)
 
== Lists of rules ==
 
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:
 
# lists of examples embedded in articles such as [[Larger than Life]], [[Generations]] etc.; and
# 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.)
 
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.
 
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).
 
But edit wars are unpleasant, an in order to rectify this situation I'd like to propose three things.
 
# The "lists of rules" articles we have should continue to focus on notable rules.
# 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.
 
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.
 
Thoughts? [[User:Apple Bottom|Apple Bottom]] ([[User talk:Apple Bottom|talk]]) 12:10, 7 August 2017 (UTC)
: 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)
 
== LifeViewer image display and pattern copy functionality ==
 
Build 233 of [[LifeViewer]] is now live here on the Wiki and includes a couple of helpful new features:
 
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...).
{{LV:Viewer|b2o2b2o$3b2o$3b2o$obo2bobo$o6bo2$o6bo$b2o2b2o$2b4o2$3b2o$3b2o! [[ NOGUI THEME 6 GRID HEIGHT 128 WIDTH 128 ]]}}
 
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.
 
[[User:Rowett|Chris Rowett]] ([[User talk:Rowett|talk]]) 19:11, 15 August 2017 (UTC)

Revision as of 22:52, 27 April 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.

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)

Pattern collections

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 missing small files that were flagged as "too big" seem to have been mostly due to patterns with no header lines in the RLE namespace. I think I've fixed all of those now. A few such files managed to get themselves uploaded to the LifeWiki server, but the auto-upload script now reports those when it sees them, so I think those are all cleaned up now also.
As before, if anyone wants to add "plaintext = true" to the many articles where that's missing, please go right ahead. The latest auto-upload script report has been added to User:Dvgrn/Plaintext files, so the dump of newly added .cells files there can be used as a checklist. There's also the option of adding plaintext file links to embedded viewers as appropriate. I did a couple of samples, e.g., 68P9 -- it's pretty easy. It should always be just a matter of adding this to the caption:
[http://www.conwaylife.com/patterns/{pname}.rle RLE format]
[http://www.conwaylife.com/patterns/{pname}.cells Plaintext format]<br />
Maybe this is something that should be done with a template, to make things even easier?
The script now also checks for pnames with uppercase letters and complains about that. I don't think there are any of those at the moment. If anyone sees other problems or oddities that the auto-upload script should be catching but isn't, or if there are any other surveys or reports that it should do while it's running through all the articles anyway, please make suggestions here. Dvgrn (talk) 15:09, 27 March 2019 (UTC)
I just modified Template:EmbedViewer to link to the RLE and Plaintext automatically. The biggest problem with this, of course, is the larger patterns don't have a plaintext file. I'm not sure how to elegantly deal with this, unless there's a way to make it read the RLE header and find the pattern size or something. Ian07 (talk) 19:55, 27 March 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)
Things are starting to look pretty good for plaintext support on LifeWiki. The latest auto-upload report is here. There are still a few weird exceptions getting reported, but for the most part I can happily ignore them now.
I'm vaguely considering making some custom plaintext files for special-case patterns like the bumpers and bouncers, where there are extra gliders added for animation purposes that happen to increase the bounding box beyond the 64x100 limit. It seems reasonable to upload plaintext versions without the extra gliders for those cases.
That will give me an excuse to go through the report and make sure there aren't any other odd cases where patterns are mysteriously getting missed, even though they should be small enough for a plaintext version. I think that's not a problem any more, but I haven't triple-checked. If anyone sees leftover stuff that the auto-upload script still isn't handling correctly, please let me know. Dvgrn (talk) 23:17, 2 April 2019 (UTC)
I skimmed through the list, and the only problem I found was that switchenginechannel.cells didn't seem to get generated despite being smaller than the 64x100 limit, even though it has shown up in all of the "Cells files created" sections in User:Dvgrn/Plaintext files. Other than that, there doesn't seem to be any errors on the computer's part. I saw a few small patterns in the "No plaintext param in infobox" section, but that appears to be due to my own error, so I'll double-check that whenever I get the chance. Ian07 (talk) 23:33, 2 April 2019 (UTC)
Huh, that's an odd one. There were a couple of nonstandard things about the uploaded RLE, so I replaced it with a more standard version. Will re-run the script at some point and see if I get a .cells file out, and one way or another that should help me track down the bug -- can't see why the code has been skipping that pattern, but the script is getting embarrassingly messy so there could be all kinds of subtle errors hiding in there. Thanks for the review! Dvgrn (talk) 02:33, 3 April 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)

Arbitrary adjective names

Per this forum post, I've removed every Arbitrary Adjective Name™ I could find on the wiki and moved it to a more easily-recognizable name (article text has also been properly updated to match title). Here's the list of files that need to be deleted as a result:

   absurdlylongboat.rle
   absurdlylongship.rle
   absurdlylongsnake.rle
   boatwithextralongtail.rle
   extralongbarge.rle
   extralongboat.rle
   extralongcanoe.rle
   extralonghookwithtail.rle
   extralongintegral.rle
   extralongshillelagh.rle
   extralongship.rle
   extralongsnake.rle
   extralongsnake_synth.rle
   extralongtubshillelagh.rle
   ludicrouslylongboat.rle
   ludicrouslylongship.rle
   remarkablylongboat.rle
   remarkablylongcanoe.rle
   remarkablylonghookwithtail.rle
   remarkablylongshillelagh.rle
   remarkablylongship.rle
   remarkablylongsnake.rle
   remarkablylongsnake_synth.rle
   ridiculouslylongboat.rle
   ridiculouslylongship.rle
   stupidlylongboat.rle
   stupidlylongship.rle
   terriblylongboat.rle
   terriblylongship.rle
   terriblylongsnake.rle

Ian07 (talk) 17:12, 23 February 2019 (UTC)

I think the above are all cleaned up correctly now, as far as uploaded patterns getting deleted. There was also a file out there called "extraextralongsnake_synth.rle" which turned out to have the Niemiec synthesis file for long^4 snake rather than long^5 snake. (Yup, getting rid of the extra and very and Arbitrary adjectives in favor of a simple long count still seems like a good simplification.)
The _synth files are still troublesome in general, because the files that are already out there often have generic links to the Niemiec database search page, rather than to the actual file. And of course on that database search page, the way you'd find a long^5 snake or whatever is actually by looking up "extra extra long snake"... so there's some possibility that the cleanup of "extra" creates some new confusion while reducing some other old confusion.
Anyway, I'd still recommend not starting any kind of comprehensive review of _synth files until the new version of Niemiec's database becomes available.
The second half of this cleanup will require re-running the auto-upload script, to get the .rle and .cells versions of all these files back onto the server with their new longN* names. I'm planning to wait until at least the end of this week before tackling that job. Dvgrn (talk) 22:27, 25 February 2019 (UTC)
Upload of new RLE and plaintext files should be done now. Some of these names are still preserved as redirects, like Stupidly long boat and also as an alternate name given in the text of the article. I may eventually be inspired to track down all these leftovers and clean them up, but for now I'm kind of worn out from wrestling with the auto-upload script. There's always another degenerate case that hasn't been handled yet... Dvgrn (talk) 14:45, 27 March 2019 (UTC)

Non-notable isotropic rules

Many pages on isotropic non-totalistic rules have been proposed for deletion. It seems that some users (myself included) have moved articles on such rules to their namespace, such as here. This seems to be an ongoing project and deserves discussion here.

Should I adopt salad or would someone else like it? I have a couple collections of ships that I’d like to move to the page should it be adopted. Moosey (talk) 17:15, 28 March 2019 (UTC)

I reverted the speedy deletion tag on Goat Flock because there's a wiki link from the Catagolue rule page which originates from the rule list.
If there's still a consensus that the main namespace redirect should be deleted, then the rule list would need to be updated with 'Goat_Flock' replaced with 'User:AwesoMan3000/Goat_Flock' after the exclamation mark on line 120. Calcyman (talk) 09:53, 29 March 2019 (UTC)
I like the idea of having some space on the LifeWiki for people to document their favorite isotropic rule discoveries. It makes sense to me that all of these could go somewhere other than the main namespace, just to keep things that are spaceships in other rules from getting mixed up with Conway's Life spaceships, and so on. The User namespace seems like a fine place for isotropic rule pages, along the lines of Moosey's suggestion.
But sometimes it's hard to know who should "claim" a rule -- it doesn't necessarily make sense for any particular user to start a page, and yet it's clear that a page should be started. Is there any harm in inventing a new namespace for this purpose? Would anything be wrong with Isotropic:Goat Flock, for example? Dvgrn (talk) 13:59, 29 March 2019 (UTC)
@dvgrn: good idea. It would prevent too much clutter in the main namespace without making anyone frustrated about the fact that [insert frustration here] happened.
who can make new namespaces? Moosey (talk) 14:41, 29 March 2019 (UTC)
I agree with the namespace idea. Perhaps we could name it something like "OCA" so we could move existing articles such as HighLife there. As for specific patterns, I'd suggest making them subpages of their native rules, e.g. OCA:HighLife/Bomber so they don't get mistaken as rules. Of course, the notability guidelines should still apply here, or else this will become way too hard to maintain. Ian07 (talk) 14:33, 30 March 2019 (UTC)
I agree with all of Ian07's suggestions above: using OCA for the namespace, with rule pages (except for CGoL) in that namespace, and rule-specific patterns as subpages of their rules. Calcyman (talk) 17:12, 30 March 2019 (UTC)
@Moosey (and everyone else) -- based on a very small amount of Googling, officially adding a new namespace to the LifeWiki namespace dropdown list is a Nathaniel-only change on the server side. I tried moving the "LifeHistory" article to OCA:LifeHistory as an experiment; the move was technically successful, but I think the article is just called "OCA:LifeHistory" and it's still in the main namespace.
I've sent a request to Nathaniel. I or somebody will post an update here if and when "OCA" becomes an official namespace. Until then there's probably no point in trying to move any more OCA pages. Dvgrn (talk) 19:34, 30 March 2019 (UTC)
There's now an OCA namespace! However, I've sent a follow-up question to Nathaniel, because I'm not sure what the best way would be to clean up an embarrassing problem I created. Currently if you follow the LifeHistory link, you'll see a page called "OCA:LifeHistory", but that's still the actual name of that article, it's not in the OCA namespace. As a weird side effect, it doesn't seem to be possible to either edit or move that "OCA:LifeHistory" page, so it doesn't seem like I can fix the problem.
I can solve most of the problem by changing the LifeHistory redirect and creating an actual LifeHistory page in the OCA namespace. That might leave an orphaned "OCA:LifeHistory" page out there somewhere, but it doesn't seem as if there's any way to get to that article except via the current redirect. Does anyone see an easy way to move that article to where it belongs? I'm a little worried that if I don't clean it up correctly, it will be an unexpected headache sometime somehow. Dvgrn (talk) 15:37, 4 April 2019 (UTC)
Stand by until further notice -- please don't try making any OCA-namespace pages just yet... hoping to get my OCA:LifeHistory mess fixed first. Dvgrn (talk) 17:43, 4 April 2019 (UTC)
Okay, it looks like Nathaniel has successfully cleaned up OCA:LifeHistory, so now it's actually in the new OCA namespace. Let's try moving Goat Flock and other similar pages out of the User namespace and into OCA -- there shouldn't be any need for people to "adopt" these pages individually any more. Dvgrn (talk) 01:55, 5 April 2019 (UTC)

(Resetting indent) All of the rule pages have now been moved to the OCA namespace, and the resulting double redirects fixed, but I have a few questions about how to continue from here:

  1. Should rule families also be moved (e.g. OCA:Generations) or should the namespace just be for individual rules/patterns?
  2. Should we use the same pattern categories as for Conway's Game of Life, or will that cause confusion?
  3. Is it possible to make Special:SpecialPages include OCA pages? This is not as important but it would be nice as a maintenance tool for these articles.

Ian07 (talk) 20:43, 5 April 2019 (UTC)

For #3, I don't think there's a (reasonably easy) way to add something like that to Special:SpecialPages, but a list of all pages in the OCA namespace can already be viewed here. Nathaniel (talk) 21:39, 5 April 2019 (UTC)

Caterloopillar "Family Page" vs. Specific Pattern

Does anyone have any clever suggestions about how to deal with the problem that

1) there is a family of spaceships called Caterloopillar, with different speeds, and different bounding boxes and cell counts for each speed, and

2) there is a specific Caterloopillar with speed c/8 (for example) and a specific bounding box and cell count

?

It would be nice to be able to link to a specific pattern or two, in a separate section inside the generic "Caterloopillar" article. But it doesn't really make sense to have bounding box, cell count, etc. parameters in the infobox for the generic article.

What's the best way to make this kind of thing clearer? Could we invent some kind of special "pattern family" infobox template where no parameters are required, and parameters are only displayed if they're defined? Dvgrn (talk) 15:08, 5 April 2019 (UTC)

We have already several families of patterns. Geminoids are also family and deserve general family page. As well as very soon the 0E0P metacell will start to generate some more interesting news with special cases and other things (especially if we use turing machine to calculate the next iteration). I'm not sure exactly how to classify family. Does the helix based technology which sends *WSS upwards is considered a family of spaceships (as it contains the caterloopillar family). But I think the number of natural families of patterns is small, and it's important to think about pattern families as well. So maybe we need to start from a page where we define what does it means pattern family. I would define it as collection of designed patterns with noticeable feature which constitutes major role in the interest this pattern is arising (geminoids for example, or strange loopers, or helix based spaceships, or natural fuse based etc.).

I think also we in total freedom here in the sense how do we analyze the patterns and the scope of the wiki articles. I think the families ignorance might be our weak spot in how we think about CGOL in general, and new families might be found which are less intuitive to think about now, and those families might bring new discoveries and design patterns just due to someone figuring out a new family.

But to state it simply - it would be also nice to simply separate the two articles of caterloopillars that's all. In the banner we can simply place "-" for everything. The bounding box is the only problem as it creates -x- instead of nothing. We can insert adjustable for speed or "Less than c/4".

Simsim314

Glider syntheses from Shinjuku with help from Catagolue

-- Okay, we can get started on the next stage of improvements for glider synthesis reporting now! This came in from calcyman last night (links slightly edited):

Catagolue can now be queried for syntheses from Shinjuku. Here's the text link that's probably most appropriate for LifeWiki.

Subsequent path parts are ignored, so you can do things such as: https://catagolue.appspot.com/textsamples/xp14_j9d0d9j/b3s23/synthesis/tumbler_synth.rle

The syntheses are also embedded in a LifeViewer on the object pages.

Finally, you can query the best known costs (in gliders) of all objects known to Catagolue. That's good for finding (for example) disparities between LifeWiki and Shinjuku to see whether either of them needs updating.

In particular, the update script uses this so as to only bother uploading (and indeed creating) RLEs of the objects that need to be updated.

My idea is that this should be an additional link in the "glider synthesis" section of relevant infoboxes. If synthesisRLE=true, then we can serve up both these Catagolue links and the uploaded synthesis file (which may be different from the Shinjuku/Catagolue version: uploaded files may contain multiple syntheses with different construction envelopes, or continuous instead of incremental syntheses, sometimes two in a row for spaceships to show the repeat time, etc.)

When the new version of Mark Niemiec's database becomes available, maybe we can use a similar system to link directly to conwaylife.com/ref/mniemiec/*, instead of uploading copies of all those patterns which will then inevitably go out of date.

However, it's not really ideal to use synthesisRLE=true to decide whether to show these links. For example, we can now produce syntheses for all the 12-bit still lifes that AwesoMan3000 made articles for last year, like teardrop with claw and so on. Most of these don't have _synth files in the raw RLE namespace or uploaded to the server -- and now we don't need to do that. But if we had to add synthesisRLE=true to the infobox to get these new Catagolue links, then a link to the LifeWiki pattern collection would also be created.

If we really want all these syntheses to be part of the LifeWiki pattern collection, then we could certainly bulk-upload them all, and do a new bulk upload every year or so to catch anything that's gotten out of date. However, the total number of files on the server is already getting very unwieldy, at least with the current maintenance system, and this would only increase the pain. Maybe it would make sense to remove all the _synth files from the pattern collection instead, and offer a separate downloadable ZIP file for glider syntheses?

Maybe we should just always display a Catagolue synthesis link, and then maybe have Catagolue display something slightly more edifying than "null" if no synthesis is known. Any other ideas or suggestions? Dvgrn (talk) 15:24, 13 April 2019 (UTC)

I think the determining factor (once the remaining small objects are in Shinjuku) is to use Catagolue if there's an apgcode provided, and to fall back on _synth.rle otherwise. The reason is because LifeWiki has Orthogonoid_synth.rle and Demonoid_synth.rle, for instance, and arguably HBK_synth.rle could also be included in LifeWiki but not in Shijuku. Calcyman (talk) 16:10, 13 April 2019 (UTC)
That sounds reasonable-ish. Mind you, people have been adding apgcodes for a lot of things (from lobsters to Sir Robin), so unless we invent a new parameter like minsynthesis=true, we'll occasionally end up making links to Catagolue when no synthesis is actually available. If the link can be created/not created based on the existence of an apgcode without adding any more custom parameters, I think I might rather do it that way and just live with the occasional link to nowhere, instead of taking the minsynthesis=true route.
It doesn't seem like there's any harm providing a Catagolue link and a _synth file link (and a Niemiec-database link, eventually). It's often very useful to have non-record-breaking syntheses of objects, and we won't get those from Shinjuku. When you want to construct a new object near some existing object, for example, you might need an expensive synthesis with gliders from just two directions. Or you might want a synthesis of a two-cell edge that creates both cells simultaneously, to make a pseudo still life with an existing object with a two-cell edge. Existing _synth uploads often have these kinds of options included along with the record-holder. Dvgrn (talk) 16:45, 13 April 2019 (UTC)
Okay, with Ian07's incredibly helpful help, I've made a first attempt at switching over glider synthesis links to the new Shinjuku/Catagolue source. Whenever an apgcode is supplied for an object and the 'synthesis={n}' parameter is set, a Catagolue-generated synthesis link should be provided in the Glider Synthesis section of the infobox.
I also disabled the old links to chris_c's automatically generated syntheses, since those aren't reliably up to date any more. And I tried changing the top-level category from >=1000 glider to >100 gliders. (Looks like I still have to work on that detail a bit more.) Dvgrn (talk) 17:59, 23 April 2019 (UTC)
Here's a current report on discrepancies between LifeWiki and Shinjuku/Catagolue (I'm assuming the last two are reasonably well synchronized at the moment, since the synthesis-costs summary changed since yesterday; I used this morning's cost summary). I've gone through and cleaned up all the LifeWiki articles where a cost was reported that was larger than what's in Catagolue.
This leaves a pile of 170 articles where LifeWiki doesn't know about any synthesis at all... but it looks like that list is being tackled already. Thanks, Ian07! (Anyone else interested, see the above link for how to get the Catagolue synthesis link to pop up in the infobox.)
This is all a huge improvement over the old method of creating separate RLE:{pname}_synth articles or {pname}_synth.rle files and uploading them to the server. Anyone see any problems so far?
The big remaining improvement would be not having to add "synthesis = {cost}" to every article manually, and manually update the numbers whenever they go out of date. This is pretty easy maintenance compared to the admin-only file upload stuff, but still it would be nice if each article magically reported the number and provided a link to Catagolue only if the synthesis actually exists on Catagolue. At the moment, articles like Snake pit 2 that have an apgcode but no known synthesis are cheerfully serving up a link to Catagolue that says "null".
So ... is there a clever template-y way to improve on this? We could import the subset of apgcodes from Catagolue's synthesis-cost list that we have articles for on the LifeWiki, and set that list up as a lookup table, for starters. Then maybe the update problem would be reduced to just updating that subset synthesis-cost list now and then. (?) Dvgrn (talk) 16:48, 24 April 2019 (UTC)
Quick reply, since Dave asked me to chime in, and I'll admit I've only skimmed over the preceding discussion --- with glider syntheses being handled by Catagolue / Shinjuku now, it would obviously be ideal for the LifeWiki to simply pull in glider synthesis information from Catagolue. That is to say:
  1. When a page's parser cache is updated (e.g. when a page is edited), and an apgcode is provided in the infobox template, LW should:
    1. poll Catagolue;
    2. perform a sanity check; and
    3. use that information (perhaps marked in some way to indicate external data) in the infobox, as well as for categories.
  2. When there is an apgcode, and there is a local synthesis, and Catagolue either doesn't have any synthesis or the one it has is worse than the local one, LW should:
    1. use the local synthesis; and
    2. add the page to a tracking category so Shinjuku's DB can be updated. (In the long run, ideally there'd be no such cases --- this'd be a temporary measure, and in fact it might not even be necessary.)
  3. When there is no apgcode, LW should:
    1. use a local synthesis if there is one; and
    2. also add the page to a (different) tracking category, as I believe it already does.
The big problem with this is the "poll Catagolue" bit. I'm not aware of a way for MW templates to programmatically make external requests and process the results.
It could be done client-side, in Javascript, but I believe we don't want that. There's at least two big advantages to doing it server-side:
  1. consistency: every user sees the same data; and
  2. sustainability: if Catagolue is only polled when the page cache is updated, i.e. when Mediawiki re-evaluates templates etc., Catagolue will not be hit with a request every time someone views a LifeWiki page.
That still leaves several more avenues:
  1. on-wiki Lua scripting (MW supports this with an appropriate extension, though the LifeWiki doesn't);
  2. using a bespoke Mediawiki extension; and
  3. keeping things as they are, but using a bot that runs (un|semi)supervised to update template parameters when things change on Catagolue's / Shinjuku's side (the bot in turn could be fed by data pushed out by Catagolue, say an RSS or Atom feed of new/improved syntheses that Catagolue would generate automatically and that the bot would poll periodically).
Unfortunately I can't help with any of these. (I couldn't help with templates either, but that's a different story.)
I don't know if any of this is useful --- but as I said, Dave asked me to chime in, and who am I to say no to that? Apple Bottom (talk) 15:14, 27 April 2019 (UTC)
Maybe it could be linked in with the Catagolue update process. At the moment, syntheses on Catagolue are added/updated in a very precise manner:
  1. A GitLab CI runner is launched;
  2. The entire textcensus of current synthesis costs (but not the syntheses themselves) are downloaded from Catagolue;
  3. Shinjuku is downloaded, and minimum paths to all objects are computed;
  4. Only the syntheses with lower cost than Catagolue are generated;
  5. These syntheses are uploaded (as RLEs) in batches of 1000.
Since LifeWiki need only display the synthesis cost in the infobox, rather than the synthesis (which is available with an external link), then I guess this update process could additionally upload the entire set of synthesis costs to LifeWiki into some page which is queried by the infoboxes.
Of course, this raises the question: how can an external process upload to LifeWiki? That external process can contain secret environment variables (and indeed does, to securely push updates to the live Catagolue). I believe you had an User:Apple Bot which automated things -- does that run externally? Calcyman (talk) 22:52, 27 April 2019 (UTC)