LifeWiki:Tiki bar/Archive/2018

From LifeWiki
Jump to navigation Jump to search
The following is an archive of tiki bar discussions started in 2018.

Stability of Pentadecathlon IDs

Maybe I should be asking Heinrich Koenig about this instead of posting here, but here goes-- does anyone know whether Pentadecathlon's ID numbers are actually stable?

The reason I'm asking is that when adding missing info to some patterns, I come across three patterns (out of about three dozen) whose numbers on PD differed from ours. Our 44P12.2 is now 44P12.3; our 42P10.1 is now 42P10.3; and our 44P7.2 is now 44P7.3.

I moved the first two to match their new PD IDs, but not the third. After all, once is happenstance, twice is coincidence, but three times is enemy action; I figured I'd better make sure these ID numbers are stable/reliable to begin with. Apple Bottom (talk) 12:38, 25 February 2018 (UTC)

Category:Toplevel category

Following some discussion at Talk:AUTOSTART, I've moved a few categories from Category:Toplevel category to Category:Everything else -- several were already in both --, to make the decision of what's in the latter and what's in the former a little less arbitrary.

In fact, it should be pretty much entirely non-arbitrary now. Category:Everything else states that it "contains all pages that are not about specific patterns", so I moved all content categories collecting CA content (CCCCC?) to that category -- except for Category:Pattern categories, of course.

What's left in Category:Toplevel category now is the following:

I left Category:Tutorials in Category:Toplevel category on account of its contents not describing CA-related subject matter, as such; I feel it should be treated the same as (say) Category:Images, which clearly also belongs Category:Toplevel category. (FWIW, I think Tutorials could actually well get their own namespace, but that's a different discussion.)

Long story short, I think Category:Toplevel category is much less cluttered now, and the placement of content categories is much less arbitrary. All we still need to do now is keep it that way. ;) Apple Bottom (talk) 15:56, 4 March 2018 (UTC)

Image generation and upload

I looked at Help:Images this morning, and I think it might make sense to do a complete rewrite. Rather than suggesting Golly and Print Screen as a source of screenshots, we should probably create a special page in some namespace or other, that has one or more NOGUI LifeViewers in it, and link to that from Help:Images.

(This is based on last year's discussion about using LifeViewer to capture images.)

The text of this hypothetical image-gathering page might suggest editing the page, replacing the sample RLE with the desired pattern, and hitting Preview (actually saving the changes won't be necessary). The page can include a list of the relevant LifeViewer scripting commands -- no waypoint stuff, but X Y ZOOM HEIGHT WIDTH, and how to hit 'I' to read that information after manually setting the view up exactly right.

When the image looks right, probably after multiple previews, a user can right-click and save it, then upload it to the relevant article.

bo$2bo$3o! #C [[ NOGUI THEME 6 GRID GRIDMAJOR 0 WIDTH 128 HEIGHT 128 ZOOM 12 ]]

... This is certainly somewhat simpler than fiddling with Golly settings to get the colors right, and for most small patterns it allows a wider range of sizes than Golly's simple powers-of-two system can provide.

Still seems like it could be easier, though! In particular, if you have the NOGUI command set, of course you can't adjust the view, and the 'i' information doesn't pop up. So you have to remove NOGUI and then add it back when you want the screenshot.

Any suggestions for how to capture an image without having to figure out the scripting commands or go through multiple Preview cycles to get everything right? Obviously plain Print Screen on the first Preview page is an option, as Help/Images currently suggests, but then it becomes necessary to edit the image in some Paint-type program.

Do all modern OSes have something equivalent to Windows' Snipping Tool, and we could mention those as a way to grab the image directly?

... Yes, in many cases we can now just use a NOGUI LifeViewer, and never upload an image at all. So we should say that clearly in Help:Images. But it's still good to have the option to upload images, for cases like the green-annotation image in Blockstacker. And it seems like a nice idea to have a static image available as backup, anyway, so let's not get rid of the "View static image" links yet!

The other awkwardnessfulmost detail is when you want to generate an image in a different-shaped rectangle than what the LifeViewer provides by default. You pretty much have to figure out the scripting system enough to add WIDTH and HEIGHT tags -- and if you've removed the NOGUI tag, as you kind of have to to do any experimenting, in many cases you'll fall foul of the mysterious minimum and maximum values allowed for LifeViewers with GUI controls.

I'm also fishing for options that might allow for dodging the two-step save-file/upload-file. Is there any way for this hypothetical image-gathering page to pop up immediately when someone clicks on an image redlink -- with a text box to paste RLE into, a LifeViewer frame that's resizable by clicking and dragging, and some button or link on that page that magically collects the current image from LifeViewer when the user says it's ready to be collected?

-- I think that would be just about the minimal, easiest to use design. What's the closest setup to that, that's actually practical to implement?

TL;DR: Sorry about the long essay. What exactly should the Help tell people about how to make standard LifeWiki images? Dvgrn (talk) 15:03, 5 March 2018 (UTC)

Good points all around -- perhaps the best solution would be to have an online RLE-to-image converter where people could simply paste an RLE snippet (or point to a remote RLE file to be fetched), and which would then spit out a bespoke image, suitable for immediate uploading to the LifeWiki (or further editing as desired). Something vaguely along the lines of Oscillizer is what I'm imagining there.
For extra brownie points, it could also offer a few form controls to tweak common options, such as live cell/dead cell/grid color, cell size, and so on; all with sensible defaults, of course.
Speaking of which, what should those defaults be? Cell size in particular -- right now quite a few still images (those I made anyway) are smaller than the animated ones, my thought at the time having been that they needed to fit into infoboxes without blowing those up too much. Now that we've entered the age of embedded LifeViewers, this isn't (that much of) a concern anymore.
I'm thinking 15x15 pixels for a single cell, plus 1 pixel for the border. Color-wise, we seem to have settled on (192, 192, 192) (#C0C0C0) as our border color of choice. We've also used (192, 239, 192) (#C0EFC0) as a light green color for highlighting cells, and (82, 192, 82) (#52C052) as a dark green, for the border of those highlighted cells:
Neighborhood 1c.png
Getting back to how to create images... I don't know what support the various OSes do offer. I do, however, think that a two-step process, where you save an image locally and then upload it in a second step, isn't that bad, so long as generating the image in the first place is easy, straightforward, fast, and convenient. (Ideally, all four!)
Oh, and experimenting with LifeViewer, its config commands, and the limits it imposes? Oh yes, I know exactly what you're talking about there! WIDTH and HEIGHT will surely be the death of me some day. :) Apple Bottom (talk) 22:00, 5 March 2018 (UTC)
EDIT: oh, and BTW -- perhaps in addition to a default size for images, we should define standard small(er) sizes as well? For instance, I'm imagining that Cathysuesamazingpattern.png might use 15x15 cells, whereas Cathysuesamazingpattern_small.png might use 7x7, and Cathysuesamazingpattern_tiny.png might use 3x3, all with a 1 pixel border. Or something along those lines, anyway.
This would make it easier to select the right image on-wiki when a specific size is needed, and it would also mean that we could keep all the current images using smaller (e.g. 7x7) cells; we'd just have to rename them. Template:InfoboxStart could easily be tweaked to display links to all sizes that exist, or only to the largest size that exists, or whatever else we might find best. Apple Bottom (talk) 22:04, 5 March 2018 (UTC)
Just because both of you mentioned it here are the mysterious LifeViewer width and height rules:
1. Common rules:
1.1 Width is always (silently) rounded down to a multiple of 8 pixels.
Why? Because it makes drawing faster.
1.2 Maximum width is 1024 pixels.
Why? Arbitrary decision. Could be any multiple of 8. Pick one.
1.3 Maximum height is 800 pixels.
Why? Arbitrary.
2. With GUI rules:
2.1 Minimum width is 480 pixels.
Why? Any smaller and the GUI wouldn't fit horizontally.
2.2 Minimum height is 480 pixels or 240 pixels.
Why? 480 for the full GUI to fit vertically. 240 if you don't mind losing the navigation controls.
3. NOGUI rules (for image display):
3.1 Minimum width is 64 pixels.
Why? No GUI to draw. Arbitrary.
3.2 Minimum height is 64 pixels.
Why? Seemed like a good idea to make it the same as the minimum width.
4. meta tag
4.1 Some LifeViewer settings can be set by putting a <meta name="LifeViewer" content=""> tag in the <head> section of the HTML page.
4.2 If the meta tag doesn't exist, or exists but has the word "limit" in the content="" string then the maximum width is constrained to the width of the element containing the pattern source (typically a textarea or similar containing RLE).
4.3 For the conwaylife.com forum the meta tag doesn't exist so all Viewers are limited to the width of the HTML element containing their RLE.
Why? It stops Viewers escaping out of the central column.
4.4 For the Wiki the tag does exist, but doesn't contain "limit", so the maximum width is not constrained by the HTML element containing their RLE.
Why? Because on the WIKI the RLE is typically not displayed.
5. Errors
5.1 If WIDTH or HEIGHT are specified outside of the ranges defined above then the window is sized to be at least the minimum width and height.
Why? So you can see the script error message.
6. Defaults
6.1 The default width and height for an embedded Viewer are the size of its HTML canvas element. Silently, the minimum width and height are enforced and the width is rounded down to multiple of 8. Currently, no maximum width and height are enforced - I suspect I forgot.
6.2 The width and height of the popup Viewer are fixed to be 560 x 480.
Why? The top and bottom row of GUI controls are 40 pixels each so the display area is 480x480 square.
Hopefully the rules are less mysterious now. Feel free to suggest better Arbitrary values or any other improvements. Chris Rowett (talk) 01:03, 6 March 2018 (UTC)
Thanks for the explanations! We don't have a Help:LifeViewer page yet -- making one is one of the many items on my to-do list --, but perhaps we could start one now, and seed it with this information.
While I'm at it, one question: when using THUMBLAUNCH, is it possible to independently set the width and height of the thumbnail, and the full viewer you get when clicking it? Getting the best possible viewer size/shape in pattern infoboxes can be fiddly, and I've found that playing carelessly with WIDTH/HEIGHT can make the full viewer look funny. Is there such a thing as THUMBWIDTH and THUMBHEIGHT? (If not, I think there really should be!)
Thanks for all your work on LifeViewer BTW, it really is an excellent piece of software to have, and makes Life (if not life) so much easier and more accessible to newcomers. Apple Bottom (talk) 10:20, 6 March 2018 (UTC)
There are actually two thumbnail commands: one for embedded Viewers: THUMBNAIL, and one for popup Viewers: THUMBLAUNCH. In both cases they render the Viewer at 1/2, 1/3 or 1/4 of its width and height depending on the value of "THUMBSIZE <2..4>". The default is 1/4 size ("THUMBSIZE 4").
The THUMBNAIL command will resize the Viewer in place when clicked. If you hover the mouse over the Viewer it will say "Expand". The Viewer can be returned to the thumbnail state with hotkey "n" or by clicking the shrink button (top left in the navigation menu assuming the height is at least 480).
bo$2bo$3o! #C [[ THEME 6 GRID GRIDMAJOR 0 WIDTH 640 HEIGHT 480 THUMBNAIL ]]
THUMBLAUNCH will launch the popup window. If you hover the mouse over the Viewer it will say "Launch". The popup Viewer size is fixed at 560x480 and ignores WIDTH and HEIGHT settings.
bo$2bo$3o! #C [[ THEME 6 GRID GRIDMAJOR 0 WIDTH 640 HEIGHT 480 THUMBLAUNCH ]]
So I believe that means you are free to use WIDTH and HEIGHT and THUMBSIZE to define the size of the thumbnail for THUMBLAUNCH, knowing that when clicked the popup Viewer will always be 560x480.
If you create a Help:LifeViewer page it's fairly likely I'll update it over time. There's already some documentation on the forum in the Pattern Viewer for forum threads thread. For example this post describes how to use LifeViewer in your own web page including details on the meta tag discussed earlier. There's also documentation in Golly for the Lua version of LifeViewer which is a subset of the HTML version functionality but still valid. Chris Rowett (talk) 10:59, 6 March 2018 (UTC)
I like defaulting to the pop-up LifeViewer for wiki purposes, mostly because it doesn't force an ugly re-flow of the text around a thumbnail image, and it's guaranteed to appear always in the same place and entirely on the screen (unless you're looking at a very small screen). The inline viewer that shrinks and expands is often more annoying to use in wiki articles, because either
  1. the Play/Pause controls at the bottom expand to offscreen and you have to scroll to get to them;
  2. the Play/Pause controls are visible, but the very top of the viewer is offscreen, in which case the first click on the viewer moves the Web page so that the whole viewer is visible, but doesn't actually activate the control you clicked on. And now whatever you clicked is suddenly not under your mouse any more, so you have to go find it and click again.
The popup viewer is a bit taller than it is wide, so 480x560. This does cause some trouble on very small laptop/tablet/phone screens when the window is 480 pixels high -- you have to scroll to make the controls usable. I wonder if it would make sense to reduce the popup window to a square 480x480?
Along the lines of Apple Bottom's THUMBWIDTH and THUMBHEIGHT comment above, I've sometimes wanted to set the popup viewer to landscape format, so to speak. E.g., when opening the secondary illustration in Telegraph, you don't really need the extra height, but more width would be okay. I guess this would really be POPUPWIDTH and POPUPHEIGHT, since the thumbnail size is specified by regular WIDTH and HEIGHT.
I would like to bump up the maximum height and width, to be able to use LifeViewer in more or less full-screen mode. 2048x1600? Or is there any downside to just saying something like 4096x4096, with the understanding that if that causes memory issues then that's the problem of whoever set the size that big? Dvgrn (talk) 16:35, 6 March 2018 (UTC)
I like the idea of POPUPWIDTH and POPUPHEIGHT. That would also solve the popup height (560 pixels) since you could put POPUPHEIGHT 480 in config/default if you wanted it to be a site wide standard.
I'll increase the maximum width and height to 2048. Though I'll probably cap it at the actual screen size or we'd be in Viewer half off screen purgatory.
The issue with clicking on a Viewer that's half off the screen is thorny. I remember taking a brief look at it a year or so ago when you last mentioned it. I'll take another brief look. Perhaps two brief looks is enough for inspiration to strike. Chris Rowett (talk) 18:15, 6 March 2018 (UTC)
The second brief look was fruitful. See if you like the behaviour in build 241. Click on a Viewer that's not fully scrolled onto the window. Chris Rowett (talk) 20:54, 6 March 2018 (UTC)

I've added POPUPWIDTH and POPUPHEIGHT in Build 242. Test cases are here. Chris Rowett (talk) 21:39, 8 March 2018 (UTC)

Wonderful, thanks. :) (I'll still need a tutorial at some point so I'll understand how to give the LifeViewer the right size, e.g. in infoboxes...)
Other things I noticed earlier today: there's some arbitary (?) limits left. "ZOOM 64" produces an error, as does "WIDTH 400". And "GRID" cannot be overridden, AFAICT; there's no "NOGRID". Apple Bottom (talk) 12:14, 10 March 2018 (UTC)
For InfoBox I think you just need to set WIDTH and HEIGHT to 4x the size you want (since it uses THUMBLAUNCH which will divide the defined size by 4 by default, or by 2 or 3 if you specify THUMBSIZE 2 or THUMBSIZE 3).
ZOOM is limited from 1/16x to 32x
WIDTH and HEIGHT are limited as described in detail above (see the mysterious LifeViewer width and height rules)
Correct, GRID can not currently be overridden. There are a number of commands like that (for example AUTOSTART). They were defined that way since the LifeViewer default is OFF, so all I needed was something to switch various modes ON. On the Wiki we now have config/default which defines GRID (ON) so I'll have to add GRID OFF to compensate. I already added STOP OFF and LOOP OFF in a previous build. Chris Rowett (talk) 14:24, 10 March 2018 (UTC)
AUTOSTART OFF and GRID OFF are in Build 243. Chris Rowett (talk) 14:43, 10 March 2018 (UTC)
Wonderful, thanks. I love how quickly you always implement new things! Now we'll just have to wait for this build to be available on the wiki. (Or does the wiki automatically use the latest these days?) Apple Bottom (talk) 19:41, 10 March 2018 (UTC)
No, that's still something that someone has to get Nathaniel's attention for. That usually doesn't take too long. But now I think we're waiting for a few more minor alterations and a Build 244.
Meanwhile, the addition of a waypoint script in the 2-engine Cordership article has exposed a flaw in the idea of including viewerconfig lines at the bottom of the pattern text in the RLE: namespace. As things are now set up, the default config line #C THEME 6 GRID GRIDMAJOR 0 SUPPRESS THUMBLAUNCH is intended to show up before any overriding commands in the RLE:pname text. But as you can see if you launch a viewer on the slow-salvo pattern and hit Ctrl+C, the default config is currently being appended to the end of the RLE text.
The obvious way around this is to put the default config first, so it shows up as an initial comment line. But that's kind of non-traditional, not to say ugly, since it puts the LifeViewer command lines in two widely-separated places.
I had to make multiple edits to the viewerconfig to get things looking okay, mostly because there's no reasonable way to preview before saving changes. I'm pretty close to being persuaded that it's just plain not that good an idea to include viewerconfig lines in the RLE: namespace. It's much easier to fix and test viewer behavior if the commands are in a viewerconfig= line in the article itself. Thoughts? Dvgrn (talk) 21:55, 11 March 2018 (UTC)
Without having taken a close look -- I'm not sure I see the problem with ugliness you're mentioning. The RLE snippet from the RLE: namespace is a "black box" as far as assembling the RLE (including all the various viewerconfig lines) passed to LifeViewer is concerned, isn't it? Where inside that black box the snippet-internal viewerconfig line is found shouldn't matter -- right?
But you're the LifeViewer wizard, not me, and I'll defer to your superior experience. :) If you think keeping viewerconfig lines out of RLE: snippets, I'm fine with that. If you think we can make including them there work, that's fine with me as well. Apple Bottom (talk) 09:51, 12 March 2018 (UTC)
Yeah, true, it doesn't matter a whole huge amount. I've gotten in the habit of putting viewerconfig lines after the RLE, away from the other comments and all together in a consecutive series of lines. But they can equally go in as the first lines in the RLE: snippets, and then the default config could be dropped in ahead of everything and it would all end up reasonably readable.
The main reason to put viewerconfig= back into the article text is that it makes it significantly easier to explain in the Help how to use LifeViewer. Put in viewerconfig=something, hit Preview, keep previewing until it looks right, and then save.
Otherwise, especially if you want to adjust a viewer that already has viewerconfig in its RLE:pname page, it's a big pain to test changes -- either save the RLE:pname page multiple times and refresh the article page each time until you get it right (this can take dozens of test cycles for a good animation)... or take out the viewerconfig lines temporarily, put them back in the article under viewerconfig=, preview there, and then finally copy the successful viewerconfig back into the RLE:pname page and save again.
Those methods aren't all that difficult really, but they seem like an unnecessary barrier to successful editing, for people who might want to learn how to use LifeViewer.
If it's easy to adjust the template to put the default config first, before the RLE:pname content, then maybe I should try playing around with that for a while before deciding to banish viewer config back to the infobox (or EmbedViewer) section again. But really it seems pretty clear that the advantages of keeping the viewer config with the article outweigh any disadvantages. Bonus: we'll be back to not needing multiple copies of the same RLE to use it multiple different ways, or in different articles. Dvgrn (talk) 16:50, 12 March 2018 (UTC)

Permission to edit high-risk pages

Talk:Main Page has apparently been protected from recreation due to too much spam in 2010, and the main page itself, as well as LifeWiki talk:Did you know/35‎ are protected as well, conceivably for the same reason. But since editing has been generally restricted in 2016 to "trusted" users only, this appears not necessary anymore. Could those pages now be allowed to trusted users, please? Micromegas (talk) 00:51, 11 March 2018 (UTC)

Strange, but Talk:Main Page doesn't show up on Special:ProtectedPages. I'd have unprotected previously otherwise, there really is no reason for it to be protected, especially in this day and age of "trusted" flags. If you come across any other such pages, let me know.
LifeWiki talk:Did you know/35 is not protected, but LifeWiki:Did you know/35 is, by virtue of cascading protection: any pages transcluded on the Main Page (which is protected with cascading protection enabled) are automatically protected as well. This is by design so that protected pages cannot be edited "through the back door", as it were.
I'm not going to unprotect the Main Page itself; even in the absence of spammers and with only good-faith editors around, there's several I don't trust to exercise the necessary care. But editing the Main Page or its transclusions should be a rare event in any case, and you can always ask a sysop to do the necessary edit. Apple Bottom (talk) 09:51, 11 March 2018 (UTC)

Image update

Can someone update File:Spaceship ford circles.png to include c/10, 3c/7 and 31c/240? It may also be worth colouring in all circles below c/4 a dark yellow, signifying their existence as trivial caterloopillar constructions.

In addition, could diagonal and knightship variants of said image be created? - AwesoMan3000 (talk) 16:57, 12 March 2018 (UTC)

Redirects

Apologies if I am asking this question in the wrong place, but how do I create redirects? I recently got into LifeWiki and there doesn't seem to be any formatting tutorial... Cognaso (talk) 01:12, 16 April 2018 (UTC)

Like this:
#REDIRECT [[Target article]]
Yeah, our help/project pages are not as complete and all-encompassing as they should ideally be. So in general you may want to look at the documentation on meta.wikimedia.org, or on the English-language Wikipedia. The latter also has a handy cheatsheet for common formatting. Some of it may be project-specific of course, e.g. certain templates, or syntax relying on extensions we don't have installed on the LifeWiki. (I don't think you'll be able to enter hieroglyphs here, say, not that I've tried.) Apple Bottom (talk) 08:45, 16 April 2018 (UTC)

Conduits and converters

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

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

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

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

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

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

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

Lexicon tags

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

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

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

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

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

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

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

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

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

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

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

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

Object frequency classes

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

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

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

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

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

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

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

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

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

use Modern::Perl '2016';

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

# throw away header line
<>;

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

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

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

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

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

Infobox vs. EmbedViewer

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

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

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

Semi-automated collection of raw RLE

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

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

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

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

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

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

Oscillator mods

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

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

Conduit orientations and ghost Herschels

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

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

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

Categories and User Pages

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

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

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

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

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

Documenting 12-Bit Still Lifes

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

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

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

Next Steps

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

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

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

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