Stable signal converters

For discussion of specific patterns or specific families of patterns, both newly-discovered and well-known.
otismo
Posts: 318
Joined: August 18th, 2010, 1:41 pm
Location: Florida
Contact:

Re: Stable signal converters

dvgrn wrote:
March 4th, 2020, 11:31 am
JP21 wrote:
March 4th, 2020, 10:31 am
Replaced some snarks and the eater...
By the way, is this the smallest one?
Usually nobody worries much in this thread about the Snark variants, or the eater-vs.-snake substitution.

This isn't the smallest G-to-MWSS, no. If we're talking about stable conduits, I think that's the 81x52 extension of Kazyan's H-to-MWSS. But that has a repeat time of 157.

So this is just the smallest stable G-to-MWSS that has a repeat time as good as the syringe.
I cannot seem to get a clean pattern, here or in wiki.
In the Game of Life there are no winners there are no losers there are only SURVIVORS.
.....**
...****
.******
*( ͡° ͜ʖ ͡°)*

Code: Select all

#CXRLE Pos=0,0
x = 26, y = 34, rule = B3/S23
23bo$23bobo$23b2o9$2b3o2$o5bo$o5bo$o5bo2$2b3o5b2o$10b2o3$2b2o$2b2o10$15b2o$15b2o!


dvgrn
Moderator
Posts: 6842
Joined: May 17th, 2009, 11:00 pm
Contact:

Re: Stable signal converters

otismo wrote:
March 4th, 2020, 4:38 pm
I cannot seem to get a clean pattern, here or in wiki.
Sorry, I meant to post the 81x52 G-to-MWSS converter, but it looks like I forgot to do that part. Here it is:

Code: Select all

x = 81, y = 61, rule = B3/S23
39b3o$39bo2bo$39bo$39bo3bo$39bo$40bobo4$72b2o$72b2o3$78b2o$78b2o$74b2o
$74b2o$35bo$34bobo16b2o$34bobo16b2o$35bo43b2o$79b2o7$37bo$36bobo$37b2o 4$4bo23bo$5bo22b3o$3b3o25bo$18bo11b2o11b2o$16b3o24b2o$15bo$15b2o$2o$bo
$bob2o$2bo2bo68b2o$3b2o69b2o$18b2o48b2o$18b2o29b2o17b2o$50bo$47b3o$47b
o22b2o$63b2o5b2o$26bo3b2o31b2o$25bobo3bo$21b2obobo3bo12b2o$21b2obo4bo 13bo$25b5obo12b3o$17b2obob2obo4bobo13bo$17bob2obo2bob2o2bo$10b2o12b2ob ob2o$10b2o!
The MWSS doesn't count as part of the bounding box.

JP21
Posts: 1046
Joined: October 26th, 2019, 5:39 am
Location: PH

Re: Stable signal converters

Here is what I know:
The conduit can be replaced (disappointingly useless):

Code: Select all

x = 81, y = 61, rule = B3/S23
39b3o$39bo2bo$39bo$39bo3bo$39bo$40bobo4$72b2o$72b2o3$78b2o$78b2o$74b2o
$74b2o$35bo$34bobo16b2o$34bobo16b2o$35bo43b2o$79b2o7$37bo$36bobo$37b2o 4$4bo23bo$5bo22b3o$3b3o25bo$18bo11b2o11b2o$16b3o24b2o$15bo$15b2o$2o$bo
$bob2o$2bo2bo68b2o$3b2o69b2o$18b2o48b2o$18b2o29b2o17b2o$50bo$47b3o$47b
o22b2o$27bo3b2o30b2o5b2o$26bobo3bo30b2o$25bobo3bo$21b2obobo3bo12b2o$21b2obo2b4obo10bo$25bobo3bobo10b3o$21b2ob2o2bo2bobo12bo$22bobo2b2o3bo$10b2o10bobo$10b2o11bo!

There are no g-to-hwss
The g-to-lwss on wiki isn't the smallest
There are no lists for the smallest (and second, fourth, fifth smallest) g-to-xwss converters.

dvgrn
Moderator
Posts: 6842
Joined: May 17th, 2009, 11:00 pm
Contact:

Re: Stable signal converters

JP21 wrote:
March 5th, 2020, 4:30 am
Here is what I know:
The conduit can be replaced (disappointingly useless):

Code: Select all

[syringe catalyst replacement]
Yeah, that's another replacement that people mostly just make whenever it's necessary. There's probably no need to re-post a pattern, at least on this thread, if that's the only change you're going to make to it.

If you'd like these variants to be documented better, maybe a good way to do that would be to improve the LifeWiki syringe article by adding a few embedded LifeViewers, e.g., for Sokwe's high-clearance syringe (the one you replaced, which is the standard version in the Elementary Conduits Collection), and the dependent syringe.
JP21 wrote:
March 5th, 2020, 4:30 am
There are no g-to-hwss
On the LifeWiki, you mean? There are lots of G-to-HWSSes, starting with the one Stephen Silver built in September 1997:

Code: Select all

# Still glider-to-HWSS converter
x = 316, y = 254, rule = B3/S23
304b2o$304b2o$309bo$307b3o$306bo$306b2o$284b2o$284b2o2$295bobo$296b2o$
296bo2$296b2o$296b2o$310b2o$310b2o$314b2o$314b2o14$290b2o$290bobo$291b o7$286bob2o$286b2obo2$295b2o$295b2o7$305b2o$305bo$303bobo$281bo21b2o$
279b3o$278bo$278b2o2$285b2o$212bo73bo$212b3o71bobo$215bo43bo27b2o$214b 2o34bo7bobo$250b3o6bo$194b2o57bo$187b2o5b2o56b2o$120bo66b2o$119bobo$119bobo$118b2ob3o65b2o17b2o$124bo64b2o17bo$118b2ob4o2bo55b2o21bobo36b
2o25b2o$118b2obo3b3o55b2o21b2o37b2o25bo$124bo145bobo6bo8b2o15b2o$96b2o 26b2o144b2o7b3o6b2o15bobo$97bo184bo24bo$97bobo181b2o24b2o$98b2o157b2o$142b2o70b2o32b2o6bobo$142b2o70b2o11b2o20bo6bo41bo$227bo20bo6b2o39b3o$
228b3o17b2o45bo$92bob2o52b2o80bo64b2o$92b2obo52b2o$144b2o34bo$101b2o
41b2o34b3o46b2o$101b2o80bo45b2o28b2o$182b2o50bo23bobo$232b3o23bo$149b
2o80bo25b2o$149b2o80b2o$113b2o3b2o89b2o$114bo3bo90b2o$111b3o5b3o180b2o
$111bo9bo55b2o123b2o$109bobo66bo$109b2o67bobo$179b2o$221b2o74b2o$221b
2o74b2o$13b2o178b2o40b2o64b2o$6b2o5b2o76b2o49b2o49bobo39b2o64b2o$6b2o 84bo49bo52bo43b2o19b2o21b2o$42b2o48bobo48b3o49b2o42b2o19b2o21bobo$42bo 50b2o50bo120b2o17bo9b2o$8b2o33bo11bo73b2o135b2o17b2o8b2o$8b2o32b2o9b3o 72bobo44bob2o$2b2o48bo75bo46b2obo$2b2o48b2o10b2o61b2o135b2o$64bo17b2o
100b2o78b2o5b2o$62bobo17bo6b2o93b2o85b2o$62b2o19bo6bo$39b2o41b2o6bobo$
39b2o50b2o2$137b2o$104b2o31b2o$104bobo108b2o$79b2o25bo37bob2o67bobo$79b2o25b2o36b2obo68bo$29b2o97b2o$29bo18b2o79bo$22bo7b3o16bo79bobo$20b 3o9bo13b3o52b2o27b2o$19bo26bo54bo72bo$19b2o65b2o14b3o41bo27b3o$11b2o
56b2o16bo16bo39b3o30bo33bob2o$11b2o56bo14b3o6bo49bo11bo20b2o33b2obo$
70b3o11bo7bobo33bo14b2o8b3o16b2o$72bo20bo33bobo22bo19bo47b2o$128bo23b
2o20bo45b2o$173b2o2$28b2o$28bo$26bobo$26b2o$132b2o36b2o58b2o$131bobo 36b2o17b2o39bo$131bo57b2o37bobo$130b2o7b2o87b2o$140bo$137b3o50b2o$137b
o52bo$177b2o12b3o$30b2o128b2o16bo14bo$30bobo127bo14b3o$32bo128b3o11bo$32b2o129bo$22b2o$22b2o$3bob2o$3b2obo2$12b2o192b2o$12b2o193bo$207bobo$208b2o$232b2o$232b2o3$22b2o$22bo$20bobo$20b2o208b2o$230bo$190b2o39b3o$
190b2o41bo$49b2o180b2o$2b2o38b2o5b2o180bo$3bo38b2o148b2o35bobo$3bobo
72b2o112b2o35b2o$4b2o72bo126b2o$44b2o17b2o14bo11bo113bo$44b2o17bo14b2o 9b3o111bobo$38b2o21bobo24bo41bo9bo15bo46b2o$38b2o21b2o25b2o10b2o28b3o 5b3o13b3o50b2o2b2o$100bo17b2o13bo3bo15bo53b2o3bo$2o96bobo17bo13b2o3b2o 14b2o57bobo$bo96b2o19bo93b2o$bobo71b2o41b2o$2b2o71b2o3$15b2o177b2o$15b
obo145b2o29b2o$17bo97b2o46b2o$17b2o96b2o$35bo29b2o$35b3o27bo18b2o89bo$2b2o34bo27b3o16bo88bobo$bobo33b2o29bo13b3o90b2o37b2o15b2o$bo80bo83b2o 46b2o15bobo$2o144b2o19bo65bo$105b2o19bo6b2o11bobo17bo66b2o$105bo18b3o
6b2o13bo17b2o$106b3o14bo24b2o51b2o$58b2o48bo14b2o76b2o21bo$58bo163b3o$
56bobo162bo$56b2o163b2o7$56b2o24bo$56bo24bobo$57b3o9bo12b2o66bo$59bo9b 3o12b2o64b3o37bo$42b2o28bo7b4o2bo66bo36b3o35b2o$42b2o27b2o6bo4bobo65b 2o39bo34b2o$79b2o2b2ob3o103b2o$89bo$83b2ob4o2bo$83b2obo3b3o130b2o$89bo
133b2o$89b2o136b2o$227b2o$112b2o$112bo70b2o$49bo63bo69b2o36b2o$49b3o
60b2o92b2o13b2o$52bo153bobo$51b2o155bo$196b2o10b2o$196bo$137b2o13b2o 32b2o9b3o$109b2o26b2o13b2o11b2o20bo11bo$109b2o54bo20bo$166b3o17b2o$168bo2$77b2o$64b2o10bobo4b2o$64bo11bo6bo55b2o$45b2o8b2o8b3o7b2o7b3o12b 2o38bobo$46bo8bo11bo18bo12bo41bo$43b3o10b3o41b3o11b2o25b2o$43bo14bo43b
o11b2o3$128b2o$128bo$129b3o$131bo$118b2o$119bo$116b3o$116bo!
#C [[ STEP 50 ]]
JP21 wrote:
March 5th, 2020, 4:30 am
The g-to-lwss on wiki isn't the smallest
Here again, improvements to the wiki article would be appreciated. If you have a link to a smaller G-to-LWSS available, please post it instead of just mentioning it. Otherwise it can be quite difficult for anyone else to find what you're talking about.

Goldtiger997
Posts: 611
Joined: June 21st, 2016, 8:00 am

Re: Stable signal converters

Here's a reasonably small alternate G-to-LWSS converter (90x94) with repeat time 93 which kind of works as a compromize between the G-to-LWSS depicted in LifeWiki and the slower but smaller one. It's based off this post

Code: Select all

x = 90, y = 94, rule = LifeHistory
30.2A28.5B$30.A.A27.5B$32.A4.2A21.B3DB$28.4A.2A2.A2.A19.D2BDB$28.A2.A
.A.A.A.2A19.3BDB$30.BABABA.A22.3BDB$31.B2ABA.A22.DBD2B$32.2B.BA23.5B$
31.3B26.5B$22.2A6.4B26.6B$23.A6.B2A3B24.8B$23.A.AB3.B2A3B24.9B.4B8.2A$24.2AB.10B22.14B9.A$26.13B21.15B5.3A$26.14B19.16B5.A$26.15B17.22B$
28.8B2.4B17.22B$28.6B5.4B14.2AB.18B.2A.2A$27.9B4.4B12.A.AB.19B.A.2A$26.4B4.2A5.4B11.A4.17B.B.A$25.4B5.A7.4B9.2A5.15B3.2A$24.4B7.3A5.4B15. 13B$23.4B10.A6.4B7.4A3.12B$22.4B19.4B5.A3.A3.15B$21.4B21.4B4.2A5.4B2.
11B$20.4B23.9B4.4B3.11B7.2A$19.4B25.6B5.4B4.11B2.2A2.A2.A$18.4B26.8B 2.4B3.2AB2.4B3DB2.A.A2.2A$17.4B25.15B3.A.AB3.4BD2B3.B.2A$16.4B26.14B 4.A6.2B3D2B2.2B2.A$3.2A10.4B27.13B4.2A7.6B.2BAB.A.2A$4.A9.4B26.2AB. 10B14.8BA.A.2A.A$2.A10.4B26.A.AB3.B2A3B16.8B.A.A$2.5A5.4B5.2A20.A6.B 2A3B17.5B4.A2.2A$7.A4.4B5.A20.2A6.4B19.6B4.2A.3A$4.3AB2.7B.BA.A29.3B 18.6B6.B4.A$3.A.2B3.7B.B2A31.2B.BA15.7B3.B2AB3A$3.4A12B32.B2ABA.A15. 8B.B2A.A$.2A2.BA3B2A7B31.BABABA.A15.10B$A2.3AB.2B2A7B29.A2.A.A.A.A.2A 11.3B2A6B$2A.A.B3.10B29.4A.2A2.A2.A5.2A5.2B2A6B$3.A8.8B32.A4.2A8.A5. 10B$3.2A7.9B16.2A11.A.A14.A.AB2.11B$13.3B2.4B14.B2AB10.2A16.2AB.12B$
11.5B3.4B14.2B6.B24.15B$11.2A7.4B14.2B4.3B23.16B$12.A8.4B12.14B19.16B
.2B$9.3A10.4B11.14B19.18B2A$9.A13.4B.B5.17B11.A6.17B.B2A$24.28B8.3A5. 4B2.8B.4B.B$24.30B5.A7.4B4.7B$24.31B4.2A5.4B5.6B$24.37B4.4B6.4B$25. 34B5.4B5.A3B$23.2AB2.23B2.8B2.4B5.A.AB$22.A.AB4.B.16B3.15B6.A.A$22.A
11.10B.2B4.14B8.A$21.2A12.9B7.13B6.3A$32.11B6.2AB.10B7.A$31.12B5.A.AB 3.B2A3B$22.2A7.12B5.A6.B2A3B$21.A2.A2.2A2.11B5.2A6.4B$22.2A2.A.A2.B3D
4B.4B12.3B$24.2A.B3.2BD4B4.2A13.2B.BA$24.A2.2B2.2B3D2B4.A13.B2ABA.A$21.2A.A.BA2B.6B6.3A9.BABABA.A$21.A.2A.A.A8B8.A7.A2.A.A.A.A.2A$25.A.A. 8B16.4A.2A2.A2.A$22.2A2.A4.5B21.A4.2A$20.3A.2A4.6B19.A.A$19.A4.B6.6B
18.2A$20.3AB2AB3.7B$22.A.2AB.8B$26.10B$26.6B2A3B$26.6B2A2B5.2A$26.10B
5.A$25.11B2.BA.A$25.12B.B2A$24.15B$23.16B$20.2B.16B$19.2A18B$19.2AB. 17B$20.B.4B.8B2.4B$27.7B4.4B$28.6B5.4B$30.4B6.4B$32.3BA5.2B2C$33.BA.A 5.BCBC$34.A.A6.CB$35.A$36.3A$38.A! JP21 Posts: 1046 Joined: October 26th, 2019, 5:39 am Location: PH Re: Stable signal converters So, you guys are telling me that these are the smallest G-to-XWSS??? (Minimum bounding box) Code: Select all x = 123, y = 326, rule = B3/S23 96bo$96b3o$99bo$98bobo$98bobo$99bo5$114b2o$114b2o3$100bobo$94b2o5b2o$93bobo5bo$93bo$92b2o7b2o$101b2o$70b2o$69bobo37b2obo$63b2o4bo39b2ob3o$
61bo2bo2b2ob4o41bo$61b2obobobobo2bo35b2ob3o$64bobobobo37bo2b2o$64bobob 2o37bobo$65bo23bo16bobob2obo$89b3o15bo2bob2o$78b2o12bo17bo$69b2o7bo12b 2o16b2o$69b2o5bobo27bobo2b2o$76b2o28b2o2bo2bo$84b2o25b2o$85bo$85bobo$86b2o3$66b2o$67bo$64b3o16b2o19b2o$64bo18b2o19b2o3$41b2o16bo45b2o$41b2o 16b3o43bo$62bo11bo31b3o$61b2o9b3o34bo$71bo32b5o$32b2o37b2o31bo$33bo68b
obo2b2o$33bobo66b2o3b2o$34b2o$77bo$75b3o$31b2o41bo$32bo9b2o4b2o24b2o
29b2o$32bobo7bobo3bobo55bo$33b2o8bo6bo52b3o$50b2o51bo7$33b2o$33b2o3$
29bo$29b3o$32bo$31b2o$60b2o$60b2o3$50b2o$50bobo28b2o$52bo28b2o7b2o$52b 2o36bo$37b2o52b3o$37b2o54bo33$52bo$50b3o$49bo$48bobo$48bobo$49bo5$33b
2o$33b2o3$46bobo$46b2o5b2o$47bo5bobo$55bo$46b2o7b2o$46b2o2$36bob2o$34b 3ob2o$33bo$34b3ob2o$36b2o2bo$39bobo$35bob2obobo$35b2obo2bo16b2o$38bo
19bo$38b2o16bobo$36b2o2bobo13b2o$35bo2bo2b2o$36b2o$74b2o$73bo2bo$64bo 9b2o$63bobo$63b2o5$38b2o15b2o$37bobo15b2o$37bo$36b2o$43b2o$44bo$44bobo
$45b2o3$74b2o$74b2o9$41b2o$41b2o4$46b2o$46b2o$42b2o$42b2o$83b2o$83b2o$
48b2o27b2o$48b2o27b2o3$79b2o$72b2o5b2o$72b2o24$56b2o11bo$56b2o10bobo$68bobo2b2o3bo$67b2ob2o2bo2bobo$71bobo3bobo$67b2obo2b4obo$67b2obobo3bo$
71bobo3bo$72bobo3bo7bob2o$73bo3b2o7b2obo$93b2o$86b3o4bo$86bo2bo4bo6bo$
64b2o22b2o3b2o4b3o$64b2o32bo$49b2o47b2o$48bo2bo$47bob2o$47bo$46b2o$61b 2o$61bo$62b3o$64bo5$99b2o$99b2o6$26b2o73bo$27bo72bobo$25bo75b2o$25b5o
14b2o$30bo13bo$27b3o12bobo$26bo15b2o40b2o$26b4o54bobo$24b2o3bo3b2o50bo$23bo2b3o4b2o$23b2obo$26bo$26b2o60b2o$89bo25bo$86b3o24b3o$34b2o50bo25b
o$35bo76b2o$32b3o$32bo$90b2o19b2o$28bo42bo18b2o19b2o$28b3o38b3o$31bo 36bo9bo$18bo11b2o11b2o23b2o6b3o$16b3o24b2o30bo$15bo59b2o16b2o$15b2o62b 2o11bobo$2o77bo12bo$bo75bobo11b2o25b2o$bob2o72b2o34b2o2bo2bo$2bo2bo 107bobo2b2o$3b2o9bo83b2o16b2o$15b2ob2o79bo17bo$14b2o2b2o35b2o23bo15b3o
15bo2bob2o$56bo22bobo14bo16bobob2obo$53b3o8b2o14bo33bobo$53bo11bo49bo 2b2o$27bo3b2o29b3o51b2ob3o$26bobo3bo29bo59bo$25bobo3bo12b2o70b2ob3o$21b2obobo3bo13bobo69b2obo$21b2obo2b4obo13bo$25bobo3bobo12b2o60b2o$21b
2ob2o2bo2bobo65b2o7b2o$22bobo2b2o3bo36b2o26bo2bo$10b2o10bobo45bo26b2ob
obo$10b2o11bo43b3o29bob2o$67bo31bo$97b3o$96bo$96b2o23b2o$121b2o5$106bo$86b2o17bobo$85bobo5b2o10bobo$85bo7b2o11bo$84b2o17b3o$103bo$98bo$94b2o
bobo$93bobobobo$90bo2bobobobob2o$90b4ob2o2bo2bo$94bo4b2o$92bobo$92b2o!

I also want the smallest for each in terms of population size.

dvgrn
Moderator
Posts: 6842
Joined: May 17th, 2009, 11:00 pm
Contact:

Re: Stable signal converters

JP21 wrote:
March 6th, 2020, 11:19 am
q
So, you guys are telling me that these are the smallest G-to-XWSS??? (Minimum bounding box)
That looks right. At least I don’t remember anything smaller offhand.
I also want the smallest for each in terms of population size.
That’s a much trickier problem. Nobody has ever paid the slightest attention to converters with big bounding boxes and small populations. There might be ways to use mostly Snarks to get a slightly lower cell count, by feeding signals to one of the old H + G —> LWSS/MWSS reactions — basically a glider hitting a preblock with different timings. But there won’t be a very interesting amount of improvement, if any at all.

Maybe good to double-check: are you only interested in stable converters? If oscillators are allowed, there are much smaller converters in both categories (but they wouldn’t belong on this thread).

Goldtiger997
Posts: 611
Joined: June 21st, 2016, 8:00 am

Re: Stable signal converters

Here's a glider-to-spider converter with a bounding box of 10083 x 9478 and repeat time 2619 (the repeat time of the current 261 glider synthesis). Sadly the pattern is over the character limit so I need to post it as an attachment:
p2619 spider gun from converter.rle

There's still a fair bit of optimization that could be done but this project was already taking long enough already so I neglected to optimize the pattern as much as I would have liked. Feel free to try to optimize it yourself if you feel up to it of course.

To place the edgeshooters I used an edgeshooter placing script that I made which I will post soon once I make it more user-friendly.

dvgrn
Moderator
Posts: 6842
Joined: May 17th, 2009, 11:00 pm
Contact:

Re: Stable signal converters

Goldtiger997 wrote:
March 12th, 2020, 10:02 am
Here's a glider-to-spider converter with a bounding box of 10083 x 9478 and repeat time 2619 (the repeat time of the current 261 glider synthesis).
Nice work! Somehow when you can't see individual pixels anyway when you're looking at the full converter, no matter how you optimize it, it stops seeming so important whether every last row and column has been squeezed out. It's just nice to have another converter in working order.

I'm definitely supposed to be doing other things these days, but when I need a break I'll try extending the LifeSuper-assisted approach to optimization -- see if I can get an auto-adjuster working, to speed up the longitudinal optimization of these huge shotguns.
Goldtiger997 wrote:
March 12th, 2020, 10:02 am
To place the edgeshooters I used an edgeshooter placing script that I made which I will post soon once I make it more user-friendly.
Looking forward to it!

Entity Valkyrie 2
Posts: 579
Joined: February 26th, 2019, 7:13 pm
Location: Hijuatl, Zumaland
Contact:

Re: Stable signal converters

Can I ask, does my spider gun and GoldTiger's spider gun deserve pages? Dart guns did, Cordership guns did...
Bx222 IS MY WORST ENEMY.

The ENEERG-y of the EVAD is watching.
The 70th NAI-ve guy is watching.

dvgrn
Moderator
Posts: 6842
Joined: May 17th, 2009, 11:00 pm
Contact:

Re: Stable signal converters

Entity Valkyrie 2 wrote:
March 13th, 2020, 5:20 am
Can I ask, does my spider gun and GoldTiger's spider gun deserve pages? Dart guns did, Cordership guns did...
The old 2c/5 spaceship guns -- p416 60P5H2V0 gun and p690 60P5H2V0 gun -- also have pages. Like the three Cordership gun articles, those articles were created by Nathaniel a decade ago when the LifeWiki made its first appearance, because they were pretty much the only non-*WSS-based, non-glider guns in existence at that time.

Looking Back to Ancient History
The articles for the two different-period dart guns were put together by codeholic back in 2014. At that point in time, new spaceship syntheses were just starting to appear -- dart, crab, and HBK recipes showed up that year. So these dart guns were rare things at the time, new and obviously notable.

But it seems like there was already a question then about whether it was going to be worth filling the LifeWiki with more and more huge patterns, when links to forum pages from the relevant spaceship article really seemed to work just as well or better.

In the next year, 2015, recipes showed up for B29, X66, half-X66 with HWSS, Pushalong 1, 25P3H1V0.1, 30P5H2V0, 30P4H2V0.4, pufferfish spaceship, and weekender -- and I think that's when the new tradition solidified, about mentioning new guns and converters in the text of the relevant spaceship article but not bothering with separate pages for each. See the spider page for how it's being done these days. We've been fairly consistent about adding these links, I think, though a survey would probably turn up an occasional exception. The crab article seems to need links to guns and converters, for example.

Current Status Quo
Personally I''m happy with the Add Links Not Articles rule of thumb, so I'm not even slightly tempted to make new articles for every known gun or converter for all of the above, and for all of the megaconverters that have showed up in the last few years. As soon as a converter is known there are instantly an infinite number of known guns. Some guns will have lower periods, some will have smaller bounding boxes, and some will have fewer cells. Seems like having a lot of these as separate LifeWiki articles won't have much useful effect, it will just clutter up the "List of guns" page.

It might make some sense to do a full survey, and make a project of putting all the relevant guns and converters in as embedded viewers on the relevant spaceship pages. That way we'd end up having all those pattern files available in the LifeWiki pattern collection. But that's a lot of work, and clutters up a lot of spaceship pages and makes them load slower. Here again, the current Add Links rule of thumb still seems like it might be the best option.

Entity Valkyrie 2
Posts: 579
Joined: February 26th, 2019, 7:13 pm
Location: Hijuatl, Zumaland
Contact:

Re: Stable signal converters

dvgrn wrote:
March 13th, 2020, 10:03 am
Personally I''m happy with the Add Links Not Articles rule of thumb, so I'm not even slightly tempted to make new articles for every known gun or converter for all of the above, and for all of the megaconverters that have showed up in the last few years. As soon as a converter is known there are instantly an infinite number of known guns. Some guns will have lower periods, some will have smaller bounding boxes, and some will have fewer cells. Seems like having a lot of these as separate LifeWiki articles won't have much useful effect, it will just clutter up the "List of guns" page.

It might make some sense to do a full survey, and make a project of putting all the relevant guns and converters in as embedded viewers on the relevant spaceship pages. That way we'd end up having all those pattern files available in the LifeWiki pattern collection. But that's a lot of work, and clutters up a lot of spaceship pages and makes them load slower. Here again, the current Add Links rule of thumb still seems like it might be the best option.
And that's the exact reason why my user page has so many nonstandard guns pages. If it went on the wiki, it would not be on my user page.
Bx222 IS MY WORST ENEMY.

The ENEERG-y of the EVAD is watching.
The 70th NAI-ve guy is watching.

Goldtiger997
Posts: 611
Joined: June 21st, 2016, 8:00 am

Re: Stable signal converters

dvgrn wrote:
March 12th, 2020, 11:04 am
Goldtiger997 wrote:
March 12th, 2020, 10:02 am
To place the edgeshooters I used an edgeshooter placing script that I made which I will post soon once I make it more user-friendly.
Looking forward to it!
Here's the script:

Code: Select all

#place-edgeshooters-automatic.py
#Goldtiger997 February 2020

import golly as g

gap_size = int(g.getstring("Please enter the diagonal spacing between the edgeshooters","50"))
flip_mode = int(g.getstring("Which mode?\n\n1) gliders are preferred to inserted from alternating sides\n2) gliders are preferred to be inserted all from the same side","1"))
safe_space = int(g.getstring("How much additional spacing do you want between the gliders and the edgeshooters? Increase this parameter if the script places gliders too close to the edgeshooters","50"))
edgeshooter_preference = g.getstring("Please enter your order of preference of the following four edgshooter types by entering the numbers that correspond to those edgeshooters in order of preference (most preferred to least preferred) separated by commas.\n Omit a number if you wish the corresponding edgeshooter to be banned\n\n1: NW31\n2: BNE14T30\n3: RNE-19T84\n4: Fx119\n\nFor example the input '1,4,2' would indicate that NW31 edgeshooters are most preferred, Fx199s are second-most preferred, BNE14T30s are least preferred and RNE-19T84s are outright banned from being used.\n\nAlternatively just enter 'n' for the default settings (equivalent to '1,2,3,4')","n").split(",")

sel_desc = g.getselrect()
selection = g.getcells(g.getselrect())
glider_phases = [g.parse("3o$2bo$bo!"),g.parse("bo$b2o$obo!"),g.parse("b2o$obo$2bo!"),g.parse("2o$b2o$o!")]
gliders = []
gliders_sorted = []
gliders_lanes = []

the_numbers = ["1","2","3","4","5"] #full list ["1","2","3","4","5","6","7","8","9","0"]

#edgeshooters
edgeshooter1 = [g.parse("18bb$17b2b$16b3b$15b4b$14b4b$13b4b$12b4b$11b4b$10b4b$9b4b$8b4b$8b4b$7b5b$4b9b$4b9b$4b9b$4b10b$3b12b$2b13b8b2o$3b11b9bo$4b12b4bbobo$4b15bbb2o13b2o$4b17b14bb2ob$4b17b15b2b$bbb17b17b2b3bb$2o19b15b4bbb2o$2obb19b11b8b2o$bb4b20b2b2b2b6b2obbb$6b32b2o$6b9bb24b$7b7b2b28b$7b7b2b28b$7b6b4b26b2o$7b7b10b4bb14b2o$7b6b12b4b2b11bbb$6b7b13b4b2b10b$7b6b14b14b$8b5b15b14b$8b6b14b13b$10b4b14b13b$9bb2o2b2b2ob2o2b2o3b8bb4b$10b2o5bobo2bobo3b8b$17bo2b2obb4b8b$18bobo2b2b3b10b$17b2obobbo2bb7b2b2o$20bobobo9b2bo$17b4o2bob8b4b3o$17bo3b2o3b7b6bo$19bobb6b6b$18b2ob2ob3b7b$21b2obb8b$18b2o3b10b$18bo4b6b2o3b$19bo3b6b2o2b5b2o$18b2o3b10b5bo$22b11b2bbobo$22b12bbb2o$21b15b$20b16b$17b2bb16b$16b2o18b$16b2obb17b$17bbb4bb8b2b4b$24b7b4b4b$25b6b5b4b$27b4b6b4b$29b3bo5b4b$30bbobo5b3b$31bobo6b2b$32bo8bb$33b3o$35bo!"),18,0,27,1,19,-100] edgeshooter2 = [g.parse("22b4b$21b4b$20b4b$19b4b$18b4b5b2o$17b6b3bo2bo$16b8bbbbobo$16b10b2o2b2o$15b11b2b2o2bo$15b11b2o3b2o$15b10b2bo$15b9b2bo$10b14b3b3o$9b13b7bo$9b14b$9b14b$9b13b$10b11b$9b14b$9b2b2o11b$10bb2o11b$10b14b$10b4bb8b$11b2bb9b3b2o$14b8b3bobo$14b8b3bo$14b9bb2o$13b11b$12b12b$12b12b$5b2o6b10b$6bo7b11b$6bobobb14b$7b2obb13b2o$9b15b2o$8b15bbb$9b14b$7b2obb11b$6bobob3b9b$6bo8b8b$5b2o9b7b$13b11b$12b12b$12b12b$12b11b$2ob2o2b2o3b8bb4b$bobo2bobo3b7b4b2o$bo2b2obb4b7b4bo$2bobo2b2bbbb6b6b3o$b2obobbo10b8bo$4bobobo9b$b4o2bob8b$bo3b2o4b6b$3bobb6b6b$2b2ob2ob3b7b$5b2obb8b$2b2o3b10b$2bo4b6b2o3b$3bo3b6b2o2b5b2o$2b2o3b10b5bo$6b11b2bbobo$6b12bbb2o$5b15b$4b16b$b2bb16b$2o18b$2obb17b$bbb4bb8b2b4b$8b7b4b4b$9b6b5b4b$11b4b6b4b$13b3bo5b4b$14bbobo5b4b$15bobo$16bo$17b3o$19bo!"),22,12,48,39,23,-184] edgeshooter3 = [g.parse("18b4b$17b4b$16b4b$15b4b$14b6b7b2o$13b7b7bo$13b9b2bbobo$9bb2b11bbb2o$9b2bb9bo3b$9b3bb7bobo2b$9b11bobo2b$10b4bbb2b3bo3b$11b4b4b6b$12b4b4b6b$13b4b3b6b$14b4b2b5b$15b14b$16b14b$17b13b$10b2o5b13b$11bo5b11bbb2o$11bobob2b10b2bbobo$12b2obb9b7bo$14b11b7b2o$14b13b$14b9bbb2obo$15b7b2bb2ob3o$14b8b4bb4bo$15b8b2b2ob3o$16b7b3bobo$13b11b2bobo$12b11b4bo$12b11b$12b11b$2ob2o2b2o3b8b2bb2o$bobo2bobo3b7b3bbobo$bo2b2obb4b7b6bo$2bobo2b2b3b6b7b2o$b2obobbob2b7b$4bobobo2b7b$b4o2bo4b5b$bo3b2o4b6b$3bobb6b6b$2b2ob2ob3b7b$5b2obb8b$2b2o3b10b$2bo4b6b2o3b$3bo3b6b2o2b5b2o$2b2o3b10b5bo$6b11b2bbobo$6b12bbb2o$5b15b$4b16b$b2bb16b$2o18b$2obb17b$bbb4bb8b2b4b$8b7b4b4b$9b6b5b4b$11b4b6b4b$13b3bo5b4b$14bbobo5b4b$15bobo6b4b$16bo8b4b$17b3o6b4b$19bo7b4b$28b4b!"),18,4,37,14,19,-140] edgeshooter4 = [g.parse("17b4b$16b4b$15b4b$14b4b$13b4b$12b4b$11b4b$10b4b$9b7b$9b9b$8b11b$5b13b$4b14b$3b16b$3b17b$2b18b$2b19b$b20b19bo$20b20b3o$b21b21bo$b21b20b2o$3b19b20bb8bo$2bbb17b19b3b6b3o$4b18b16b6b4bo$4b20b11b10b3b2o$5b22b2b2b3b16b$5b34b2o7b$7b32b2o9b$8b42b$8b42b$8b44b$8b13b4b4bb13bb9b$8b6b4b3b5b3b5bbb19b$7b7b5b4b4b4b12b14b$8b6b7b2o6b2o11b15b$9b6b6bo7bo12b14b$9b6b7b3o5b3o9b13b$8b8b8bo7bo6b15b$9b6b17bobob2b15b$8b7b18b2obb17b$6b11b18b19b$4b9b2o2bbb15b19b$4b9b2o3b2o15b20b2b2o$4b14b2o13b2obb16b2obobo$5b14b13bobob2b13bbb2obo$5b3bb2b2bb2b5b11bo6b11b4bb2bo$5b2o5b3b4b2o10b2o7b11b2b2ob2o$6bo5bb2ob3bo17b14b3bobo$3b3o7b2o5b3o13b16b2bobo$3bo18bo4b2o7b13bbb2ob2o$26bo2bo2b2o2b13bbbobo$27b2o2bobo2b8bb2b6bo$29b2obb3b7b10b2o$29bo2b2b2b7b$26b2obobbo2bb6b$26bob2obobo8b$30bobob8b$27b2o2bo2b7b$25b3ob2o4b6b$24bo4bb6b6b$25b3ob2ob3b7b$27bob2obb8b$31b10b$31b6b2o3b$31b6b2o2b5b2o$31b10b5bo$30b11b2bbobo$30b12bbb2o$29b15b$28b16b$25b2bb16b$24b2o18b$24b2obb17b$25bbb4bb8b2b4b$32b7b4b4b$33b6b5b4b$35b4b6b4b$37b3bo5b4b$38bbobo5b4b$39bobo6b4b$40bo8b3b$41b3o6bb$43bo!"),17,0,30,87,18,-112] edgeshooters_unordered = [edgeshooter1,edgeshooter2,edgeshooter3,edgeshooter4] #order edgeshooters according to preferences if edgeshooter_preference[0] == "n": edgeshooters = edgeshooters_unordered else: edgeshooters = [] for i in edgeshooter_preference: try: edgeshooters.append(edgeshooters_unordered[(int(i)-1)%4]) except ValueError: g.note("Your edgeshooter preferences cannot be understood so the default preferences will be used") edgeshooters = edgeshooters_unordered break if g.getrule() != "B3/S23": g.warn("Please change the rule to life.") g.exit() if g.getselrect() == []: g.warn("Please select some northeast heading gliders") g.exit() g.shrink() #crude glider detection def find_glider(phase_num): count = 0 size = ((sel_desc[2]-2)*(sel_desc[3]-2)) for i in range(0,sel_desc[2]-2): for j in range(0,sel_desc[3]-2): x = sel_desc[0]+i y = sel_desc[1]+j g.select([x,y,3,3]) old_patt = g.getcells(g.getselrect()) #for restoration g.putcells(glider_phases[phase_num],x,y,1,0,0,1,"xor") if len(g.getcells(g.getselrect())) == 0: gliders.append([phase_num,x,y]) g.clear(0) g.putcells(old_patt,0,0,1,0,0,1,"or") count += 1 g.show(str(25*phase_num + count*25/size) + "% glider detection done") for i in range(0,4): find_glider(i) if len(gliders) == 0: g.warn("Your selection has no (detectable) gliders") g.exit() g.setrule("B3/S23") #now convert into format of [[lane,point on that lane]...] for glid in gliders: if glid[0] == 0: gliders_lanes.append([glid[2]+glid[1],glid[1]*4]) elif glid[0] == 1: gliders_lanes.append([glid[2]+glid[1] + 1,glid[1]*4 + 1]) elif glid[0] == 2: gliders_lanes.append([glid[2]+glid[1] + 1,glid[1]*4 + 2]) elif glid[0] == 3: gliders_lanes.append([glid[2]+glid[1],glid[1]*4 - 1]) gliders_lanes_sorted = sorted(gliders_lanes, key = lambda x: x[0])[::-1] for e in gliders_lanes_sorted: gliders_sorted.append(gliders[gliders_lanes.index(e)]) last_selected_glider = 0 completed_gliders = [] for blah_blah_blah in gliders: completed_gliders.append(False) last_selected_glider = 0 g.putcells(selection,-(186 + safe_space) - gap_size*len(gliders),(186 + safe_space) + gap_size*len(gliders),1,0,0,1,"or") g.update() edgeshooter_gap = 150 edgeshooters_placed_count = 0 edgeshooter_storage = [] #to facilitate deletion def place_edgeshooter(num,gap,count): if flipped%2 == 0: edge_x = -gap-edgeshooters[num][1] + edgeshooters[num][2] + sel_desc[0] edge_y = gliders_lanes_sorted[last_selected_glider%len(gliders)][0]+gap - edgeshooters[num][2] - sel_desc[0] g.putcells(edgeshooters[num][0],edge_x,edge_y,1,0,0,1,"or") delay = edgeshooters[num][4] + gliders_lanes_sorted[last_selected_glider%len(gliders)][1] - 4*safe_space - 4*sel_desc[0] x = edge_x - delay/4 + gap_size*(len(gliders) - count) y = edge_y + edgeshooters[num][3] - delay/4 + gap_size*(len(gliders) - count) g.putcells(g.evolve(g.parse("$b3o$bo$2bo!"),delay%4),x-1,y-1,1,0,0,1,"copy")
else:
edge_x = -gap-edgeshooters[num][1] + edgeshooters[num][2] + edgeshooters[num][5] + sel_desc[0]
edge_y = gliders_lanes_sorted[last_selected_glider%len(gliders)][0]+gap - edgeshooters[num][2] + edgeshooters[num][5] + 1  - sel_desc[0]
g.putcells(edgeshooters[num][0],edge_x,edge_y,0,-1,-1,0,"or")
delay = edgeshooters[num][4] + gliders_lanes_sorted[last_selected_glider%len(gliders)][1] + edgeshooters[num][6] - 4*safe_space - 4*sel_desc[0]
x = edge_x + delay/4 - gap_size*(len(gliders) + count) + 1 + 2*gap_size*count
y = edge_y + edgeshooters[num][3] + delay/4 - gap_size*(len(gliders) + count) + 2*gap_size*count
g.putcells(g.evolve(g.parse("$b3o$bo$2bo!"),delay%4),x-1,y-1,-1,0,0,-1,"copy") #remove the comparison glider g.putcells(glider_phases[gliders_sorted[last_selected_glider%len(gliders)][0]],gliders_sorted[last_selected_glider%len(gliders)][1] - (186 + safe_space) - gap_size*len(gliders),gliders_sorted[last_selected_glider%len(gliders)][2] + (186 + safe_space) + gap_size*len(gliders),1,0,0,1,"xor") g.update() edgeshooter_storage.append([edge_x,edge_y,x,y,num,last_selected_glider%len(gliders),flipped%2]) def remove_edgeshooter(e): g.putcells(edgeshooters[e[4]][0],e[0],e[1],1-e[6],-e[6],-e[6],1-e[6],"xor") g.select([e[2]-1-e[6]*3,e[3]-1-e[6]*3,4,4]) g.clear(0) completed_gliders[e[5]] = False glid = gliders_sorted[e[5]] g.putcells(glider_phases[glid[0]],glid[1],glid[2],1,0,0,1,"copy") g.putcells(glider_phases[gliders_sorted[e[5]][0]],gliders_sorted[e[5]][1] - (186 + safe_space) - gap_size*len(gliders),gliders_sorted[e[5]][2] + (186 + safe_space) + gap_size*len(gliders),1,0,0,1,"or") edgeshooter_storage.pop() flipped = 0 prev_flipped = 1 flip_fix = 0 no_successes_count = -1 i = 0 while edgeshooters_placed_count < len(gliders): if flip_mode == 2 or prev_flipped == 1: a = 1 else: a = -1 last_selected_glider = (a*i)%len(gliders) g.show(str(edgeshooters_placed_count) + " gliders done. " + str(len(gliders)-edgeshooters_placed_count) + " gliders remain.") if completed_gliders[(a*i)%len(gliders)] != True: for x in range(0,len(edgeshooters)): place_edgeshooter(x%4,edgeshooter_gap,edgeshooters_placed_count) edgeshooters_placed_count += 1 edgeshooter_gap += gap_size g.run(744 +4*safe_space + 4*gap_size*len(gliders)) if g.getcells(sel_desc) == selection: g.reset() completed_gliders[last_selected_glider%len(gliders)] = True prev_flipped = flipped flipped = (flip_mode - flipped)%2 no_successes_count = -1 break else: g.reset() remove_edgeshooter(edgeshooter_storage[-1]) edgeshooters_placed_count -= 1 edgeshooter_gap -= gap_size no_successes_count += 1 i += 1 if no_successes_count == (len(gliders)-edgeshooters_placed_count) and edgeshooters_placed_count != len(gliders): flipped = (prev_flipped)%2 elif no_successes_count > 2*(len(gliders)-edgeshooters_placed_count) and edgeshooters_placed_count != len(gliders): g.warn("No method of inserting the remaining gliders could be found") g.exit("") g.show("Success!") To use the script select some northeast-heading gliders and run the script. The script will ask you several questions at the start all of which should be sufficiently explained in the diaolog boxes I think. For most purposes you can just use the default answers anyway. The script will then attempt to insert the all the gliders in the salvo with the four edgeshooters it knows of from both sides of the salvo. To do this the script sorts the gliders by how "easy to insert" they look and then loops through the list of sorted gliders trying all four edgeshooters on each glider until it finds an edgeshooter that works. It then repeats this process with the remaining gliders until all gliders have edgeshooters that insert them or it can't find any way of inserting any of the remaining gliders. Even though the script doesn't have powerful glider inserters like the clock inserter it seems to work for the majority of salvoes (e.g. it worked on all four of the spider's salvoes). For the salvoes that cannot be done with this script (e.g. two gliders 14-ticks apart) I think a decent approach is to use my script to solve all the "easy" gliders and then use chris_c's script to solve the hard remaining ones. I'm also pretty confident that the script should find a solution with its 4 edgshooters if such a solution does exist since its edgeshooter test method involves testing whether all the gliders can make it to the required final location after the edgeshooter is placed (a feature which chris_c's script didn't have). For example, paste the following salvo anywhere in the Golly grid with rule set to Life: Code: Select all x = 34, y = 59, rule = B3/S23 25b3o$27bo$26bo$14b3o$16bo$15bo$19bo$19b2o$18bobo10b3o$33bo$32bo2$7b2o
$6bobo6b2o$8bo7b2o$15bo8bo$24b2o$23bobo2$b2o$2b2o7b2o$bo10b2o$11bo2$b
2o$obo$2bo4$11bo$11b2o$10bobo3$2b2o$bobo$3bo19$17b3o$19bo$18bo! Run the script with default settings and after about 20 seconds the following result should be produced: Code: Select all x = 1381, y = 1325, rule = B3/S23 7bo$5bobo$6b2o203$5bobo$6b2o$6bo183$888b3o$890bo$889bo$877b3o$879bo$
878bo$882bo$882b2o$881bobo10b3o$896bo$895bo2$870b2o$869bobo6b2o$871bo
7b2o$11bobo864bo8bo$12b2o873b2o$12bo873bobo2$864b2o$865b2o7b2o$864bo
10b2o$874bo2$864b2o$863bobo$865bo4$874bo$874b2o$873bobo3$865b2o$864bob o$866bo19$880b3o$882bo$881bo123$621b2o$618b2o2bo$616b3ob2o$615bo$612bo
2b4ob2o$612b3o3bob2o$615bo$614b2o26b2o$642bo$640bobo$640b2o$600bo$598b
3o$597bo$597b2o$582b2o60b2o$583bo60bobo$583bob2o59bo$584bo2bo49b2o7b2o
$obo582b2o50b2o$b2o597b2o$bo598b2o3$620b2o3b2o$609bo3b2o6bo3bo$608bobo
3bo3b3o5b3o$607bobo3bo4bo9bo$603b2obobo3bo15bobo$603b2obo2b4obo14b2o$
607bobo3bobo$603b2ob2o2bo2bobo$604bobo2b2o3bo$592b2o10bobo$592b2o11bo
21b2o$628bo$615b2o11bobo$616bo12b2o$616bobo$617b2o2b2o$621b2o4$616b2o 4b2o$616b2o4b2o7$617b2o$616bobo$616bo$615b2o5$718b2o$718bo$716bobo$
716b2o13b2o$731b2o3$695b2o40b2o$695b2o40b2o$733b2o$733b2o4$738b2o$738b 2o7$705b2o4b2ob2o2b2o$705b2o5bobo2bobo$712bo2b2o$713bobo$712b2obo2bo
12b2o$715bobobo11bo$712b4o2bo13b3o$712bo3b2o16bo$714bo$713b2ob2o$716b
2o$713b2o$713bo10b2o$714bo9b2o7b2o$713b2o18bo$731bobo$731b2o4$711b2o$
711b2o2$521b2o$518b2o2bo$516b3ob2o$515bo211bo$512bo2b4ob2o204bobo$512b
3o3bob2o204bobo$515bo211bo$514b2o26b2o184b3o$542bo187bo$540bobo$540b2o$500bo$498b3o$497bo$497b2o$482b2o60b2o$483bo60bobo$483bob2o59bo$484bo 2bo49b2o7b2o88bo$485b2o50b2o97b3o$500b2o137bo$500b2o136b2o$647bo$645b
3o$520b2o3b2o117bo$509bo3b2o6bo3bo118b2o$508bobo3bo3b3o5b3o$507bobo3bo
4bo9bo106b2o$503b2obobo3bo15bobo104b2o$503b2obo2b4obo14b2o$507bobo3bob o$503b2ob2o2bo2bobo$504bobo2b2o3bo$492b2o10bobo$492b2o11bo21b2o$528bo
88b2o6b2o$515b2o11bobo86bo7bo$516bo12b2o87b3o5b3o$516bobo101bo7bo$517b
2o2b2o105bobo$521b2o106b2o2$609b2o$609b2o3b2o37b2o$516b2o4b2o90b2o13b
2o18b2obobo$516b2o4b2o104bobo18b2obo$628bo24bo$601b2o12b2o10b2o20b2ob 2o$602bo6b2o4bo34bobo$599b3o7b2o5b3o31bobo$599bo18bo4b2o22b2ob2o$622bo 2bo2b2o17bobo$517b2o104b2o2bobo19bo$516bobo106b2o22b2o$516bo108bo$515b 2o105b2obo2bo$622bob2obobo$626bobo$623b2o2bo$621b3ob2o$620bo$621b3ob2o$623bob2o2$633b2o$633b2o7b2o$642bo$640bobo$640b2o4$620b2o$620b2o5$636b
o$635bobo$635bobo$636bo$637b3o$639bo11$421b2o$418b2o2bo$416b3ob2o$415b o$412bo2b4ob2o$412b3o3bob2o$415bo$414b2o26b2o$442bo$440bobo$440b2o$400bo$398b3o$397bo$397b2o$382b2o60b2o$383bo60bobo$383bob2o59bo$384bo2b
o49b2o7b2o$385b2o50b2o$400b2o$400b2o3$420b2o3b2o$409bo3b2o6bo3bo$408bo
bo3bo3b3o5b3o$407bobo3bo4bo9bo$403b2obobo3bo15bobo$403b2obo2b4obo14b2o 87b2o$407bobo3bobo102bo$403b2ob2o2bo2bobo100bobo$404bobo2b2o3bo101b2o
13b2o$392b2o10bobo124b2o$392b2o11bo21b2o$428bo$415b2o11bobo64b2o40b2o$416bo12b2o64b2o40b2o$416bobo114b2o$417b2o2b2o110b2o$421b2o3$538b2o$
416b2o4b2o114b2o$416b2o4b2o6$505b2o4b2ob2o2b2o$21bo395b2o86b2o5bobo2bo bo$19bobo394bobo93bo2b2o$20b2o394bo96bobo$415b2o95b2obo2bo12b2o$515bob obo11bo$512b4o2bo13b3o$512bo3b2o16bo$514bo$513b2ob2o$516b2o$513b2o$
513bo10b2o$514bo9b2o7b2o$513b2o18bo$531bobo$531b2o4$511b2o$511b2o5$527bo$526bobo$526bobo$527bo$528b3o$530bo31$331b2o$331b2o5b2o$338b2o3$
311bo5b2o17b2o98bo$309b3o6bo17b2o98b3o$308bo9bobo21b2o95bo$308b2o9b2o 21b2o94b2o$293b2o152bo$294bo150b3o$294bob2o146bo$295bo2bo145b2o$296b2o
$311b2o122b2o$311b2o122b2o5$319bo3b2o21bo$318bobo3bo19b3o$314b2obobo3b o19bo73b2o6b2o$314b2obo4bo20b2o72bo7bo$318b5obo93b3o5b3o$310b2obob2obo
4b2o95bo7bo$310bob2obo2bob2o106bobo$303b2o12b2obob3o104b2o$303b2o19bo$
409b2o$409b2o3b2o37b2o$414b2o13b2o18b2obobo$428bobo18b2obo$323b2o103bo
24bo$323b2o76b2o12b2o10b2o20b2ob2o$402bo6b2o4bo34bobo$399b3o7b2o5b3o 31bobo$399bo18bo4b2o22b2ob2o$422bo2bo2b2o17bobo$423b2o2bobo19bo$425b2o 22b2o$425bo$422b2obo2bo$338b2o82bob2obobo$338b2o86bobo$423b2o2bo$421b 3ob2o$420bo$421b3ob2o$423bob2o2$433b2o$433b2o7b2o$442bo$440bobo$440b2o 4$420b2o$420b2o5$436bo$435bobo$435bobo$436bo$437b3o$439bo26$221b2o$218b2o2bo$216b3ob2o$215bo$212bo2b4ob2o$212b3o3bob2o$215bo$214b2o26b2o$
242bo$240bobo$240b2o$200bo$198b3o$197bo$197b2o$182b2o60b2o$183bo60bobo
$183bob2o59bo$184bo2bo49b2o7b2o70b2o$185b2o50b2o79bo$200b2o114bobo$200b2o114b2o13b2o$331b2o2$220b2o3b2o$209bo3b2o6bo3bo69b2o40b2o$208bobo 3bo3b3o5b3o66b2o40b2o$207bobo3bo4bo9bo104b2o$203b2obobo3bo15bobo102b2o$10bo192b2obo2b4obo14b2o$8bobo196bobo3bobo$9b2o192b2ob2o2bo2bobo$204bo bo2b2o3bo123b2o$192b2o10bobo131b2o$192b2o11bo21b2o$228bo$215b2o11bobo$
216bo12b2o$216bobo$217b2o2b2o$221b2o82b2o4b2ob2o2b2o$305b2o5bobo2bobo$312bo2b2o$313bobo$216b2o4b2o88b2obo2bo12b2o$216b2o4b2o91bobobo11bo$312b4o2bo13b3o$312bo3b2o16bo$314bo$313b2ob2o$316b2o$313b2o$217b2o94bo 10b2o$216bobo95bo9b2o7b2o$216bo96b2o18bo$215b2o114bobo$331b2o4$311b2o$311b2o5$327bo$326bobo$326bobo$327bo$328b3o$330bo47$218b2o$145bo72bo$
145b3o68bobo$141bo6bo67b2o13b2o$140bobo4b2o82b2o$140bobo$138b3ob2o20bo
$137bo24b3o30b2o40b2o$131bo6b3ob2o17bo33b2o40b2o$131b3o6bob2o17b2o70b 2o$134bo98b2o$121bo11b2o$119b3o36b2o$118bo38bo2bo$118b2o38b2o78b2o$103b2o133b2o$104bo$104bob2o$105bo2bo$106b2o$121b2o$121b2o23b2o$146bo
58b2o4b2ob2o2b2o$147b3o55b2o5bobo2bobo$149bo62bo2b2o$213bobo$129bo3b2o
77b2obo2bo12b2o$128bobo3bo80bobobo11bo$124b2obobo3bo78b4o2bo13b3o$124b 2obo4bo79bo3b2o16bo$128b5obo79bo$120b2obob2obo4b2o78b2ob2o$120bob2obo
2bob2o84b2o$113b2o12b2obob3o78b2o$113b2o19bo78bo10b2o$214bo9b2o7b2o$
213b2o18bo$231bobo$231b2o4$211b2o$211b2o5$227bo$226bobo$226bobo$227bo$228b3o$230bo33$118b2o$118bo$116bobo$116b2o13b2o$131b2o3$95b2o40b2o$95b 2o40b2o$133b2o$133b2o4$138b2o$138b2o7$105b2o4b2ob2o2b2o$105b2o5bobo2bo bo$112bo2b2o$113bobo$112b2obo2bo12b2o$115bobobo11bo$112b4o2bo13b3o$112bo3b2o16bo$114bo$113b2ob2o$116b2o$113b2o$113bo10b2o$114bo9b2o7b2o$
113b2o18bo$131bobo$131b2o4$111b2o$111b2o5$127bo$126bobo$126bobo$127bo$128b3o$130bo32$764b2o$764bobo$764bo3$177b2o$177bobo185bo$177bo186b2o$364bobo6$572b2o$572bobo599bo$572bo600b2o$1173bobo12$985b2o$985bobo$
985bo23$1379bo$1378b2o$1378bobo! Some more notes about the script: • The script allows you to ban specific edgeshooters from being used. I don't imagine this feature will be useful very often but I can envisage situations in which you might want to ban Fx119 edgeshooters for repeat time reasons so I added it. • The script doesn't bother to place the eaters required to suppress the additional glider outputs from the RNE-19T84 pseudo-edgeshooters so you will have to place them yourself • The script allows you to choose whether you prefer all the gliders to be inserted from one side or from alternating sides of the salvo. I think this feature is nice since you (usually) get greater space efficiency from inserting the gliders from alernating sides. If the script is not able to insert a glider from the side of your preference it will attempt to insert it from the other side and then go back to following your preferences I also updated my old manual edgeshooter placing script. It now produces consistent results regardless of where the inital gliders are placed and has a few new features such as being able to place edgeshooters that insert from both sides and the ability to select gliders with the mouse rather than just with the arrow keys. I think this script is a fair bit less useful than my other script but it might be helpful if you want to handpick all the edgeshooters that are used: Code: Select all #place-edgeshooters-v2.py #Goldtiger997 February 2020 import golly as g gap_size = int(g.getstring("Please enter the diagonal spacing between the edgeshooters","50")) safe_space = int(g.getstring("How much additional spacing do you want between the gliders and the edgeshooters? Increase this parameter if the script places gliders too close to the edgeshooters","50")) sel_desc = g.getselrect() selection = g.getcells(g.getselrect()) glider_phases = [g.parse("3o$2bo$bo!"),g.parse("bo$b2o$obo!"),g.parse("b2o$obo$2bo!"),g.parse("2o$b2o$o!")] glider_phases_lh1 = [g.parse("3A$2.A$.A!"),g.parse(".A$.2A$A.A!"),g.parse(".2A$A.A$2.A!"),g.parse("2A$.2A$A!")] glider_phases_lh2 = [g.parse("3C$2.C$.C!"),g.parse(".C$.2C$C.C!"),g.parse(".2C$C.C$2.C!"),g.parse("2C$.2C$C!")] glider_phases_lh3 = [g.parse("3D$2.D$.D!"),g.parse(".D$.2D$D.D!"),g.parse(".2D$D.D$2.D!"),g.parse("2D$.2D$D!")] gliders = [] gliders_sorted = [] gliders_lanes = [] the_numbers = ["1","2","3","4","5"] #full list ["1","2","3","4","5","6","7","8","9","0"] #edgeshooters #format is [rle, output glider lane adjustment, input glider lane adjustment, input glider positioning adjustment,delay of edgeshooter,flip_adjust,flip_time_adjust] edgeshooter1 = [g.parse("18.B$17.2B$16.3B$15.4B$14.4B$13.4B$12.4B$11.4B$10.4B$9.4B$8.4B$8.4B$7.5B$4.9B$4.9B$4.9B$4.10B$3.12B$2.13B8.2A$3.11B9.A$4.12B4.BA.A$4.15B.B2A13.2A$4.17B14.B2AB$4.17B15.2B$.B.17B17.2B3.B$2A19B15.4B.B2A$2AB.19B11.8B2A$.B4.20B2.2B2.6B2AB.B$6.32B2A$6.9B.24B$7.7B2.28B$7.7B2.28B$7.6B4.26B2A$7.7B10.4B.14B2A$7.6B12.4B2.11B.B$6.7B13.4B2.10B$7.6B14.14B$8.5B15.14B$8.6B14.13B$10.4B14.13B$9.B2A2B2.2A.2A2.2A3.8B.4B$10.2A5.A.A2.A.A3.8B$17.A2.2A.B4.8B$18.A.A2.2B3.10B$17.2A.A.BA2B.7B2.2A$20.A.A.A9B2.A$17.4A2.A.8B4.3A$17.A3.2A3.7B6.A$19.A.B6.6B$18.2AB2AB3.7B$21.2AB.8B$18.2A3.10B$18.A4.6B2A3B$19.A3.6B2A2B5.2A$18.2A3.10B5.A$22.11B2.BA.A$22.12B.B2A$21.15B$20.16B$17.2B.16B$16.2A18B$16.2AB.17B$17.B.4B.8B2.4B$24.7B4.4B$25.6B5.4B$27.4B6.4B$29.3BA5.4B$30.BA.A5.3B$31.ABA6.2B$32.A8.B$33.3A$35.A!"),18,0,27,1,19,-100]
edgeshooter2 = [g.parse("22.4B$21.4B$20.4B$19.4B$18.4B5.2A$17.6B3.A2.A$16.8B.B.A.A$16.10B2A2.2A$15.11B2.2A2.A$15.11B2A3.2A$15.10B2.A$15.9B2.A$10.14B3.3A$9.13B7.A$9.14B$9.14B$9.13B$10.11B$9.14B$9.2B2A11B$10.B2A11B$10.14B$10.4B.8B$11.2B.9B3.2A$14.8B3.A.A$14.8B3.A$14.9B.2A$13.11B$12.12B$12.12B$5.2A6.10B$6.A7.11B$6.A.AB.14B$7.2AB.13B2A$9.15B2A$8.15B.B$9.14B$7.2AB.11B$6.A.AB3.9B$6.A8.8B$5.2A9.7B$13.11B$12.12B$12.12B$12.11B$2A.2A2.2A3.8B.4B$.A.A2.A.A3.7B4.2A$.A2.2A.B4.7B4.A$2.A.A2.2B.B.6B6.3A$.2A.A.BA10B8.A$4.A.A.A9B$.4A2.A.8B$.A3.2A4.6B$3.A.B6.6B$2.2AB2AB3.7B$5.2AB.8B$2.2A3.10B$2.A4.6B2A3B$3.A3.6B2A2B5.2A$2.2A3.10B5.A$6.11B2.BA.A$6.12B.B2A$5.15B$4.16B$.2B.16B$2A18B$2AB.17B$.B.4B.8B2.4B$8.7B4.4B$9.6B5.4B$11.4B6.4B$13.3BA5.4B$14.BA.A5.4B$15.ABA$16.A$17.3A$19.A!"),22,12,48,39,23,-184]
edgeshooter3 = [g.parse("18.4B$17.4B$16.4B$15.4B$14.6B7.2A$13.7B7.A$13.9B2.BA.A$9.B2.11B.B2A$9.2B.9BA3B$9.3B.7BABA2B$9.11BABA2B$10.4B.B2.3BA3B$11.4B4.6B$12.4B4.6B$13.4B3.6B$14.4B2.5B$15.14B$16.14B$17.13B$10.2A5.13B$11.A5.11B.B2A$11.A.AB2.10B2.BA.A$12.2AB.9B7.A$14.11B7.2A$14.13B$14.9B.B2A.A$15.7B2.B2AB3A$14.8B4.B4.A$15.8B2.2A.3A$16.7B3.A.A$13.11B2.A.A$12.11B4.A$12.11B$12.11B$2A.2A2.2A3.8B2.B2A$.A.A2.A.A3.7B3.BA.A$.A2.2A.B4.7B6.A$2.A.A2.2B3.6B7.2A$.2A.A.BAB2.7B$4.A.A.A2.7B$.4A2.A4.5B$.A3.2A4.6B$3.A.B6.6B$2.2AB2AB3.7B$5.2AB.8B$2.2A3.10B$2.A4.6B2A3B$3.A3.6B2A2B5.2A$2.2A3.10B5.A$6.11B2.BA.A$6.12B.B2A$5.15B$4.16B$.2B.16B$2A18B$2AB.17B$.B.4B.8B2.4B$8.7B4.4B$9.6B5.4B$11.4B6.4B$13.3BA5.4B$14.BA.A5.4B$15.A.A6.4B$16.A8.4B$17.3A6.4B$19.A7.4B$28.4B!"),18,4,37,14,19,-140]
edgeshooter4 = [g.parse("17.4B$16.4B$15.4B$14.4B$13.4B$12.4B$11.4B$10.4B$9.7B$9.9B$8.11B$5.13B$4.14B$3.16B$3.17B$2.18B$2.19B$.20B19.A$20B20.3A$.21B21.A$.21B20.2A$3.19B20.B8.A$2.B.17B19.3B6.3A$4.18B16.6B4.A$4.20B11.10B3.2A$5.22B2.2B3.16B$5.34B2A7B$7.32B2A9B$8.42B$8.42B$8.44B$8.13B4.4B.13B.9B$8.6B4.3B5.3B5.B.19B$7.7B5.4B4.4B12.14B$8.6B7.2A6.2A11.15B$9.6B6.A7.A12.14B$9.6B7.3A5.3A9.13B$8.8B8.A7.A6.15B$9.6B17.A.AB2.15B$8.7B18.2AB.17B$6.11B18.19B$4.9B2A2B.B15.19B$4.9B2A3B2A15.20B2.2A$4.14B2A13.2AB.16B2A.A.A$5.14B13.A.AB2.13B.B2ABA$5.3B.2B2.B2.5B11.A6.11B4.B2.A$5.2A5.3B4.2A10.2A7.11B2.2A.2A$6.A5.B2AB3.A17.14B3.A.A$3.3A7.2A5.3A13.16B2.A.A$3.A18.A4.2A7.13B.B2A.2A$26.A2.A2.2A2.13B.BA.A$27.2A2.A.A2.8B.2B6.A$29.2A.B3.7B10.2A$29.A2.2B2.7B$26.2A.A.BA2B.6B$26.A.2A.A.A8B$30.A.A.8B$27.2A2.A2.7B$25.3A.2A4.6B$24.A4.B6.6B$25.3AB2AB3.7B$27.A.2AB.8B$31.10B$31.6B2A3B$31.6B2A2B5.2A$31.10B5.A$30.11B2.BA.A$30.12B.B2A$29.15B$28.16B$25.2B.16B$24.2A18B$24.2AB.17B$25.B.4B.8B2.4B$32.7B4.4B$33.6B5.4B$35.4B6.4B$37.3BA5.4B$38.BA.A5.4B$39.ABA6.4B$40.A8.3B$41.3A6.B$43.A!"),17,0,30,87,18,-112]
edgeshooter5 = [g.parse("23.4B$22.4B$21.4B$20.4B$19.4B$18.4B$17.4B$16.4B$3.2A10.4B$4.A9.4B$2.A10.4B$2.5A5.4B5.2A$7.A4.4B5.A$4.3AB2.7B.BA.A$3.A.2B3.7B.B2A$3.4A12B$.2A2.BA3B2A7B$A2.3AB.2B2A7B$2A.A.B3.10B$3.A8.8B$3.2A7.9B$13.3B2.4B$11.5B3.4B$11.2A7.4B$12.A8.3B$9.3A10.2B$9.A13.B!"),23,-14,2,-76,24,0]
edgeshooters = [edgeshooter1,edgeshooter2,edgeshooter3,edgeshooter4,edgeshooter5]

if g.getselrect() == []:
g.exit()
g.shrink()

#crude glider detection
def find_glider(phase_num):
count = 0
size = ((sel_desc[2]-2)*(sel_desc[3]-2))
for i in range(0,sel_desc[2]-2):
for j in range(0,sel_desc[3]-2):
x = sel_desc[0]+i
y = sel_desc[1]+j
g.select([x,y,3,3])
old_patt = g.getcells(g.getselrect()) #for restoration
g.putcells(glider_phases[phase_num],x,y,1,0,0,1,"xor")
if len(g.getcells(g.getselrect())) == 0:
gliders.append([phase_num,x,y])
g.clear(0)
g.putcells(old_patt,0,0,1,0,0,1,"or")
count += 1
g.show(str(25*phase_num + count*25/size) + "% glider detection done")

for i in range(0,4):
find_glider(i)

if len(gliders) == 0:
g.warn("Your selection has no (detectable) gliders")
g.exit()

g.setrule("LifeHistory")
#now convert into format of [[lane,point on that lane]...]
for glid in gliders:
if glid[0] == 0:
gliders_lanes.append([glid[2]+glid[1],glid[1]*4])
elif glid[0] == 1:
gliders_lanes.append([glid[2]+glid[1] + 1,glid[1]*4 + 1])
elif glid[0] == 2:
gliders_lanes.append([glid[2]+glid[1] + 1,glid[1]*4 + 2])
elif glid[0] == 3:
gliders_lanes.append([glid[2]+glid[1],glid[1]*4 - 1])

gliders_lanes_sorted = sorted(gliders_lanes, key = lambda x: x[0])[::-1]
for e in gliders_lanes_sorted:
gliders_sorted.append(gliders[gliders_lanes.index(e)])

#g.note(str(gliders_lanes_sorted))

last_selected_glider = 0
completed_gliders = []
for blah_blah_blah in gliders:
completed_gliders.append(False)

last_selected_glider = -1
#highlight gliders in the white LifeHistory state
def select_glider(num):
global last_selected_glider
glid = gliders_sorted[num%len(gliders)]
g.putcells(glider_phases_lh2[glid[0]],glid[1],glid[2],1,0,0,1,"copy")
#revert previous selected glider to its previous state
if completed_gliders[last_selected_glider%len(gliders)] == False:
old_glid = gliders_sorted[last_selected_glider%len(gliders)]
g.putcells(glider_phases_lh1[old_glid[0]],old_glid[1],old_glid[2],1,0,0,1,"copy")
else:
old_glid = gliders_sorted[last_selected_glider%len(gliders)]
g.putcells(glider_phases_lh3[old_glid[0]],old_glid[1],old_glid[2],1,0,0,1,"copy")
last_selected_glider = num

select_glider(0)
g.putcells(selection,-(186 + safe_space) - gap_size*len(gliders),(186 + safe_space) + gap_size*len(gliders),1,0,0,1,"or")
g.update()

def find_glider_from_click(x,y):
for i in range(0,len(gliders)):
if gliders_sorted[i][1] - x >= -4 and gliders_sorted[i][1] - x <= 1 and gliders_sorted[i][2] - y >= -4 and gliders_sorted[i][2] - y <= 1:
break

edgeshooter_gap = 150
edgeshooters_placed_count = 0
edgeshooter_storage = [] #to facilitate deletion

def place_edgeshooter(num,gap,count):
if flipped%2 == 0:
edge_x = -gap-edgeshooters[num][1] + edgeshooters[num][2] + sel_desc[0]
edge_y = gliders_lanes_sorted[last_selected_glider%len(gliders)][0]+gap - edgeshooters[num][2] - sel_desc[0]
g.putcells(edgeshooters[num][0],edge_x,edge_y,1,0,0,1,"or")
delay = edgeshooters[num][4] + gliders_lanes_sorted[last_selected_glider%len(gliders)][1] - 4*safe_space - 4*sel_desc[0]
x = edge_x - delay/4 + gap_size*(len(gliders) - count)
y = edge_y + edgeshooters[num][3] - delay/4 + gap_size*(len(gliders) - count)
g.putcells(g.evolve(g.parse("$b3o$bo$2bo!"),delay%4),x-1,y-1,1,0,0,1,"copy") else: edge_x = -gap-edgeshooters[num][1] + edgeshooters[num][2] + edgeshooters[num][5] + sel_desc[0] edge_y = gliders_lanes_sorted[last_selected_glider%len(gliders)][0]+gap - edgeshooters[num][2] + edgeshooters[num][5] + 1 - sel_desc[0] g.putcells(edgeshooters[num][0],edge_x,edge_y,0,-1,-1,0,"or") delay = edgeshooters[num][4] + gliders_lanes_sorted[last_selected_glider%len(gliders)][1] + edgeshooters[num][6] - 4*safe_space - 4*sel_desc[0] x = edge_x + delay/4 - gap_size*(len(gliders) + count) + 1 + 2*gap_size*count y = edge_y + edgeshooters[num][3] + delay/4 - gap_size*(len(gliders) + count) + 2*gap_size*count g.putcells(g.evolve(g.parse("$b3o$bo$2bo!"),delay%4),x-1,y-1,-1,0,0,-1,"copy")
#remove the comparison glider
g.putcells(glider_phases[gliders_sorted[last_selected_glider%len(gliders)][0]],gliders_sorted[last_selected_glider%len(gliders)][1] - (186 + safe_space) - gap_size*len(gliders),gliders_sorted[last_selected_glider%len(gliders)][2] + (186 + safe_space) + gap_size*len(gliders),1,0,0,1,"xor")
g.update()

edgeshooter_storage.append([edge_x,edge_y,x,y,num,last_selected_glider%len(gliders),flipped%2])

def remove_edgeshooter(e):
g.putcells(edgeshooters[e[4]][0],e[0],e[1],1-e[6],-e[6],-e[6],1-e[6],"xor")
g.select([e[2]-1-e[6]*3,e[3]-1-e[6]*3,4,4])
g.clear(0)
g.update()

completed_gliders[e[5]] = False
glid = gliders_sorted[e[5]]
g.putcells(glider_phases_lh1[glid[0]],glid[1],glid[2],1,0,0,1,"copy")
select_glider(last_selected_glider%len(gliders))
g.putcells(glider_phases[gliders_sorted[e[5]][0]],gliders_sorted[e[5]][1] - (186 + safe_space) - gap_size*len(gliders),gliders_sorted[e[5]][2] + (186 + safe_space) + gap_size*len(gliders),1,0,0,1,"or")
g.update()
edgeshooter_storage.pop()

flipped = 0

while True:
event = g.getevent()
if event.startswith("key h"):
g.note("Commmands:\n\n- press the up and down arrows to toggle between the gliders\n- alternatively, click on a glider to select it\n- press the number keys to place one of the five supported edgeshooters\n- press d to delete the most recently placed edgeshooter\n- press t to test the current pattern\n- press r to return from the testing to generation 0\n- press f to fit the entire pattern into the viewport\n- press x to copy the current pattern to the clipboard\n- press k to toggle between inserting the gliders from the NE and the SW\n- press [ to zoom out\n- press ] to zoom in\n - press v view the gliders")
if event.startswith("key f"):
g.fit()
g.update()
if event.startswith("key v"):
g.select(sel_desc)
g.fitsel()
g.update()
if event.startswith("key ["):
g.setmag(g.getmag() - 1)
g.update()
if event.startswith("key ]"):
g.setmag(g.getmag() + 1)
g.update()
if event.startswith("key x"):
g.select(g.getrect())
g.copy()
g.select([])
if g.getgen() == "0":
if flipped%2 == 0:
g.show("Press <h> for help. Press <esc> to quit the script with the current edgeshooters. Currently inserting from the SE")
else:
g.show("Press <h> for help. Press <esc> to quit the script with the current edgeshooters. Currently inserting from the NW")
if event.startswith("click"):
ans = find_glider_from_click(int(event.split()[1]),int(event.split()[2]))
if ans != "":
select_glider(ans)
g.update()
elif event.startswith("key up"):
select_glider(last_selected_glider+1)
g.update()
elif event.startswith("key down"):
select_glider(last_selected_glider-1)
g.update()
elif event.startswith("key k"):
flipped += 1
elif event.startswith("key t"):
g.run(744 + 4*safe_space + 4*gap_size*len(gliders))
g.update()
elif event.startswith("key d"):
if edgeshooter_storage != []:
remove_edgeshooter(edgeshooter_storage[-1])
edgeshooters_placed_count -= 1
edgeshooter_gap -= gap_size
elif event.startswith("key ") and event[4] in the_numbers:
if completed_gliders[last_selected_glider%len(gliders)]:
else:
place_edgeshooter(the_numbers.index(event[4]),edgeshooter_gap,edgeshooters_placed_count)
edgeshooter_gap += gap_size
edgeshooters_placed_count += 1
completed_gliders[last_selected_glider%len(gliders)] = True
else:
g.show("Advanced pattern to generation " + str(744 + 4*safe_space + 4*gap_size*len(gliders)) + ". Press <r> to return to generation 0")
if event.startswith("key r"):
g.reset()
g.update()

Goldtiger997
Posts: 611
Joined: June 21st, 2016, 8:00 am

Re: Stable signal converters

Here's a smaller and faster 2c/3 signal-to-glider converter (repeat time 1109) using an alternate end to the 2c/3 wire.

Code: Select all

x = 158, y = 201, rule = LifeHistory
130.2A$130.2A2$128.4A$127.A4.A$127.4A.A$124.A7.2A$124.4A2BA.A$128.A.A .A$122.4A2BA.A.2A$121.A4.A.A.A$121.3A2BA.A.A$118.A5.A.A.2A$118.4A2BA.
A$122.A.A.A$116.4A2BA.A.2A$115.A4.A.A.A$115.3A2BA.A.A$112.A5.A.A.2A$
112.4A2BA.A$116.A.A.A$110.4A2BA.A.2A$109.A4.A.A.A$109.3A2BA.A.A$106.A 5.A.A.2A$106.4A2BA.A$110.A.A.A$104.4A2BA.A.2A$103.A4.A.A.A$103.3A2BA.
A.A$100.A5.A.A.2A$100.4A2BA.A$104.A.A.A$98.4A2BA.A.2A$97.A4.A.A.A$97.
3A2BA.A.A$94.A5.A.A.2A$94.4A2BA.A$98.A.A.A$92.4A2BA.A.2A$91.A4.A.A.A$
91.3A2BA.A.A$88.A5.A.A.2A$88.4A2BA.A$92.A.A.A$86.4A2BA.A.2A$85.A4.A.A .A$85.3A2BA.A.A$82.A5.A.A.2A$82.4A2BA.A$86.A.A.A$80.4A2BA.A.2A$79.A4. A.A.A.A$79.3A2BA.A.A.A.A$76.A5.A.A.A.A2.2A$40.4B32.4A2BA.A.A.A$39.4B 30.A6.A.A.A2.A$38.4B31.5A2BA.A.A5.2A26.2A$37.4B37.A.A.A.2A3.A.A25.A.A$36.4B28.A2.5A2BA.A.A.A4.A21.2A4.A$17.2A16.4B27.3A2.A4.A.A.A.A.A2.2A. 4A15.A2.A2.2A.4A$10.2A3.2B2AB14.4B27.A6.2A2BA.A2.2A.A.A.A.A2.A15.2A.A
.A.A.A2.A$9.B2AB2.4B14.4B28.7A2.A.A.A5.A.ABABAB20.A.ABABAB$10.2B3.6B.
B9.4B10.2A21.B2.ABA.A.2A4.A.AB2AB21.A.AB2AB$11.2B2.10B6.4B11.A20.6A2. A9.AB.2B23.AB.2B32.2A$10.2B2A11B5.4B13.A13.2A3.A.2B3.2A13.3B25.3B31.
2A$7.B.3B2A12B3.4B13.2A13.A4.A.B4A2.3A10.4B6.2A16.4B6.2A$6.2A18B2.4B
14.B8.2A5.3A.A.A3B.2A2.A8.3B2AB6.A15.3B2AB6.A21.4A$6.2AB.15B2.4B13.3B 7.A.A7.A.A.A2B2A3.A9.3B2AB3.BA.A15.3B2AB3.BA.A20.A4.A$7.B3.19B12.6B6.
BA9.A2BA.A.A.2A8.10B.B2A14.10B.B2A21.A.3A$11.18B10.10B2.B3.3B7.2B.A.A .A.A8.13B15.13B5.2A14.B2A.A$12.19B2.2B3.20B.B5.BA.A.2A4.A5.14B14.14B
4.B2AB9.2B.2B$12.15BD15B2A3BD13B.3B2A.A5.2A4.15B2.A10.15B4.3B7.8B3A$
13.7B.4BDBD15B2A2B2D10BA3BA4B.A10.4B2.8B4.3A7.4B2.8B4.B2.15B.BA2.A$13.6B2.4B3D18B2D10BADCBABA4.A.2A6.4B5.6B7.A5.4B5.6B3.21B2.2A$12.7B.5B
D21BD10BCDABABAB2.2A.2A5.4B4.9B5.2A4.4B4.9B.22B$12.6B.29BD10BC3BA2B 11.4B5.2A4.4B4.9B5.2A4.26B$13.9B7.4B.13B5.13B11.4B7.A5.4B5.6B7.A5.24B
$13.8B9.4B4.B.7B5.13B3.B6.BD2B5.3A7.4B2.8B4.3A7.22B$12.8B11.4B19.11B.
4B4.2D2B6.A10.15B2.A10.20B$4.A7.7B13.4B20.8B2.4B3.2B2D19.14B14.7B.3B. 8B$4.3A5.6B15.4B19.8B.BD9B21.13B15.4B8.7B$7.A3.2B3D2B16.4B18.10B2D7B 23.10B.B2A12.5B3.13B$6.2A3.4BD2B17.4B17.9BDBD3BD28.3B2AB3.BA.A11.2A.B
4.13B$6.8B3DB18.4B16.14B2DB27.3B2AB6.A12.A6.13B$8.10B19.4B15.14BDBDB
28.4B6.2A8.3A7.12B$7.11B20.4B15.18B27.3B17.A9.2B3D4B.4B$8.10B12.A8.4B
15.12B2.4B23.AB.2B28.3BD5B3.2A$7.11B10.3A9.4B15.10B4.4B21.A.AB2AB27. 3B3D3B3.A$7.12B8.A13.4B13.8B8.4B20.A.ABABAB26.9B4.3A$7.13B7.2A13.4B 11.6B12.4B18.2A.A.A.A2.A24.9B6.A$11.4B2.4B3.5B14.4B9.4B.B14.4B18.A2.
2A.4A23.10B$10.B2A2B3.4B2.3B17.4B7.4B18.4B17.A4.A26.11B$9.A2BAB5.9B7.
2A8.4B5.4B20.4B17.3A.A2.2A21.9B$8.A.2A2B6.8B8.A9.4B3.4B22.4B18.2A3.2A 20.4B.6B$8.A.3B8.10B3.B.A.2A7.4B.4B24.4B43.4B.7B$5.2A.A4.A7.7B2A2B.B 3A2.A8.7B26.4B41.4B2.6B15.2A$5.2A.2A3.3A5.7B2A3BAB2.2A10.5B28.4B39.4B
3.8B4.B8.A$16.A4.12B4A12.5B29.4B37.4B5.B2A6B.4B3.BA.A$15.2A2.2AB.7B3.
2B.A11.7B29.4B35.4B5.2B2A13B.B2A$13.A2.A.A.AB.7B2.B3A11.4B.4B29.4B33. 4B7.18B$13.2A3.A5.4B4.A13.4B3.4B29.4B31.4B9.17B$17.2A5.4B5.5A7.4B5.4B 29.4B29.4B13.13B$9.A13.4B10.A6.4B7.4B29.4B27.4B13.12B$9.3A10.4B9.A7. 4B9.4B29.4B25.4B14.10B$12.A8.4B10.2A5.4B11.4B29.4B23.4B14.11B$11.2A7. 4B17.4B13.4B29.4B21.4B15.7B.3B$11.5B3.4B17.4B15.4B29.4B19.4B15.12B$13.3B2.4B17.4B17.4B29.4B6.A10.4B17.11B$3.2A7.9B5.2A10.4B19.4B29.4B5.
3A7.4B18.11B7.2A$3.A8.8B7.A9.4B21.4B29.4B7.A5.4B19.11B2.2A2.A2.A$2A.A
.B3.10B6.A10.4B23.4B29.4B5.2A4.4B18.2AB2.4B3DB2.A.A2.2A$A2.3AB.2B2A7B 6.5A5.4B5.2A18.4B29.4B4.9B18.A.AB3.4BD2B3.B.2A$.2A2.BA3B2A7B11.A4.4B
5.A20.4B29.4B5.6B19.A6.2B3D2B2.2B2.A$3.4A12B8.3AB2.7B.BA.A21.4B29.4B 2.8B18.2A7.6B.2BAB.A.2A$3.A.2B3.7B.B2A5.A.2B3.7B.B2A23.4B29.15B25.8BA
.A.2A.A$4.3AB2.7B.BA.A4.4A12B26.4B29.14B25.8B.A.A$7.A4.4B5.A2.2A2.BA
3B2A7B27.4B29.13B26.5B4.A2.2A$2.5A5.4B5.A.A2.3AB.2B2A7B28.4B29.10B.B 2A24.6B4.2A.3A$2.A10.4B3.2A.2A.A.B3.10B29.4B30.3B2AB3.BA.A22.6B6.B4.A
$4.A9.4B8.A8.8B29.4B29.3B2AB6.A22.7B3.B2AB3A$3.2A10.4B7.2A7.9B29.4B
30.4B6.2A22.8B.B2A.A$16.4B16.3B2.4B29.4B29.3B31.10B$17.4B13.5B3.4B29.
4B25.AB.2B31.3B2A6B$18.4B12.2A7.4B29.4B23.A.AB2AB24.2A5.2B2A6B$19.4B
12.A8.4B29.4B22.A.ABABAB24.A5.10B$20.4B8.3A10.4B29.4B18.2A.A.A.A.A2.A 22.A.AB2.11B$21.4B7.A13.4B29.4B17.A2.A2.2A.4A23.2AB.12B$22.4B21.4B29. 4B18.2A4.A29.15B$23.4B21.4B29.4B23.A.A27.16B$24.4B21.4B29.4B23.2A27. 16B.2B$25.4B21.4B29.4B51.18B2A$26.4B21.4B29.4B49.17B.B2A$27.4B21.4B
29.4B47.4B2.8B.4B.B$28.4B21.4B29.4B45.4B4.7B$29.4B21.4B29.4B43.4B5.6B
$30.4B21.4B29.4B41.4B6.4B$31.4B21.4B29.4B39.4B5.A3B$32.4B21.4B29.4B 37.4B5.A.AB$33.4B21.4B29.4B35.4B6.A.A$34.4B21.4B29.4B33.4B8.A$35.4B
21.4B29.4B31.4B6.3A$36.4B21.4B29.4B29.4B7.A$37.4B21.4B29.4B27.4B$38. 4B21.4B29.4B25.4B$39.4B21.4B29.4B23.4B$40.4B21.4B29.4B21.4B$41.4B21.
4B29.4B19.4B$42.4B21.4B29.4B10.A6.4B$43.4B21.4B29.4B7.3A5.4B$44.4B21. 4B29.4B5.A7.4B$45.4B21.4B29.4B4.2A5.4B$46.4B21.4B29.9B4.4B$47.4B21.4B
29.6B5.4B$48.4B21.4B28.8B2.4B$49.4B21.4B25.15B$50.4B21.4B24.14B$51.4B
21.4B23.13B$52.4B21.4B20.2AB.10B$53.4B21.4B18.A.AB3.B2A3B$54.4B21.4B 17.A6.B2A3B$55.4B21.4B15.2A6.4B$56.4B21.4B23.3B$57.4B21.4B23.2B.BA$58.4B21.4B21.B2ABA.A$59.4B21.4B19.BABABA.A$60.4B21.4B16.A2.A.A.A.A.2A$61.4B21.4B15.4A.2A2.A2.A$62.4B21.4B18.A4.2A$63.4B21.4B15.A.A$64.4B 21.4B14.2A$65.4B21.4B$66.4B21.4B$67.4B21.4B8.A$68.4B14.2A5.5B4.5A$69.
4B11.A2.A5.5B3.A5.A$70.4B10.2A.A.AB.7B2.B3A2.A$71.4B11.A.2AB.7B3.2B.A
.2A$72.4B10.A3.12B4A2.A$73.4B7.3A3.7B2A3BAB2.2A$74.4B5.A6.7B2A2B.B3A$
75.4B4.2A5.10B3.B.A$76.9B4.8B8.A.2A$77.6B5.9B7.2A.2A$77.8B2.4B2.3B$
75.15B3.5B$75.14B7.2A$75.13B8.A$73.2AB.10B10.3A$72.A.AB3.B2A3B14.A$72.A6.B2A3B$71.2A6.4B$80.3B$81.2B.BA$80.B2ABA.A$79.BABABA.A$77.A2.A.A .A.A.2A$77.4A.2A2.A2.A$81.A4.2A$79.A.A$79.2A! The beehive on beehive bait was the best I could find after a fair bit of experimentation but there may be something better that uses a flipping loaf similar to the following: Code: Select all x = 40, y = 47, rule = LifeHistory .2A$A2.A$.2A2$.2A$.2A$5.A$4.A.A3.2A.2A$3.A2.A4.A.2A$4.2A5.A$8.2A.A5.
2A$8.A.A.2A4.A$10.A.A.A.A$7.A2.A.A.A.2A$6.A.A.A2.2A3.A$4.3A.A.A4.2A2. A$3.A4.A2.4A2.3A$3.2A3.A6.2A$9.6A2.A$14.A.A.A.2A$7.7A2.A.A.A$7.A6.2A 2.A.A$8.3A2.A4.A.A.2A$10.A2.5A2.A.A.A$20.A.A.A$15.5A2.A.A.2A$15.A6.A.
A.A$18.4A2.A.A$18.A5.A.A.2A$21.3A2.A.A.A$21.A4.A.A.A$22.4A2.A.A.2A$
28.A.A.A$24.4A2.A.A$24.A5.A.A.2A$27.3A2.A.A.A$27.A4.A.A.A$28.4A2.A.A. 2A$34.A.A.A$30.4A2.A.A$30.A7.2A$33.4A.A$33.A4.A$34.4A2$36.2A$36.2A! dvgrn Moderator Posts: 6842 Joined: May 17th, 2009, 11:00 pm Location: Madison, WI Contact: Re: Stable signal converters Goldtiger997 wrote: April 15th, 2020, 6:12 am Here's a smaller and faster 2c/3 signal-to-glider converter (repeat time 1109) using an alternate end to the 2c/3 wire. Nice find! A three-glider recipe that restores the bait all in one step is a big improvement on the old two-stage four-glider kludge -- especially because a concentrated effort to collect direct Herschel-to-junk converters could very well turn up a single-signal factory for that beehive pair. One of these decades... I might try and see if I can get the repeat time of that circuit down below 1000, though I suppose there's no particular market for marginally faster 2c/3 signal receivers these days. Toilet paper is in much higher demand at the moment. JP21 Posts: 1046 Joined: October 26th, 2019, 5:39 am Location: PH Re: Stable signal converters Why does it really have to have the worst output glider ever??? Oh yeah, by the way here is the non-LifeHistory rle: Code: Select all x = 158, y = 201, rule = B3/S23 130b2o$130b2o2$128b4o$127bo4bo$127b4obo$124bo7b2o$124b4o2bobo$128bobob
o$122b4o2bobob2o$121bo4bobobo$121b3o2bobobo$118bo5bobob2o$118b4o2bobo$
122bobobo$116b4o2bobob2o$115bo4bobobo$115b3o2bobobo$112bo5bobob2o$112b 4o2bobo$116bobobo$110b4o2bobob2o$109bo4bobobo$109b3o2bobobo$106bo5bobo
b2o$106b4o2bobo$110bobobo$104b4o2bobob2o$103bo4bobobo$103b3o2bobobo$
100bo5bobob2o$100b4o2bobo$104bobobo$98b4o2bobob2o$97bo4bobobo$97b3o2bo bobo$94bo5bobob2o$94b4o2bobo$98bobobo$92b4o2bobob2o$91bo4bobobo$91b3o 2bobobo$88bo5bobob2o$88b4o2bobo$92bobobo$86b4o2bobob2o$85bo4bobobo$85b 3o2bobobo$82bo5bobob2o$82b4o2bobo$86bobobo$80b4o2bobob2o$79bo4bobobobo
$79b3o2bobobobobo$76bo5bobobobo2b2o$76b4o2bobobobo$73bo6bobobo2bo$73b 5o2bobobo5b2o26b2o$78bobobob2o3bobo25bobo$68bo2b5o2bobobobo4bo21b2o4bo$17b2o47b3o2bo4bobobobobo2b2ob4o15bo2bo2b2ob4o$10b2o5b2o46bo6b2o2bobo 2b2obobobobo2bo15b2obobobobo2bo$10b2o53b7o2bobobo5bobobobo21bobobobo$46b2o24bobobob2o4bobob2o22bobob2o$46bo20b6o2bo9bo27bo$12b2o33bo13b2o3b o6b2o$12b2o32b2o13bo4bo2b4o2b3o20b2o26b2o$6b2o47b2o5b3obobo4b2o2bo11b 2o7bo18b2o7bo21bo$6b2o46bobo7bobobo2b2o3bo12b2o5bobo18b2o5bobo20bobo$55bo9bo2bobobob2o20b2o26b2o21bob3o$68bobobobo54b2o15b2o4bo$66bobob2o4b o52b2o18b3o$43b2o21b2obo5b2o21bo47b3o$43b2o14bo3bo5bo28b3o45bo2bo$58bo
bobobo4bob2o28bo46b2o$58bobobobo3b2ob2o27b2o$59bo3bo22b2o26b2o$87bo27b o$84b3o25b3o$84bo27bo$4bo$4b3o$7bo102b2o$6b2o95b2o5bobo11b2o$103b2o7bo
12bo$112b2o8b3o$122bo$30bo68bo44b2o$28b3o67bobob2o40bo$27bo70bobobobo 40b3o$27b2o66b2obobobobo2bo39bo$95bo2bo2b2ob4o$11b2o84b2o4bo$9bo2bo22b 2o66bobo$8bob2o24bo67b2o$8bo27bob2o$5b2obo4bo2bo11b2o4b3o2bo113b2o$5b 2ob2o3b4o11b2o3bo3b2o114bo$33b4o97b2o15bobo$13b2o4b2o15bo97b2o15b2o$
13b2o3bobo12b3o$18bo13bo$17b2o14b5o$9bo27bo$9b3o23bo$12bo22b2o$11b2o2$103bo$3b2o21b2o75b3o47b2o$3bo23bo78bo41b2o2bo2bo$2obo21bo79b2o26b2o13b
obo2b2o$o2b3o4b2o13b5o14b2o86bobo16b2o$b2o3bo3b2o18bo13bo87bo19bo$3b4o 20b3o12bobo86b2o16bo2bob2o$3bo15b2o5bo15b2o104bobob2obo$4b3o12bobo4b4o 119bobo$7bo13bo2b2o3bo3b2o115bo2b2o$2b5o14bobo2b3o4b2o80b2o34b2ob3o$2b
o17b2ob2obo81b2o5bobo39bo$4bo21bo81b2o7bo33b2ob3o$3b2o21b2o89b2o32b2ob
o2$104bo38b2o$34b2o67bobob2o25b2o7b2o$35bo67bobobobo25bo$32b3o65b2obob
obobo2bo22bobo$32bo67bo2bo2b2ob4o23b2o$102b2o4bo$108bobo$109b2o$156b2o$156b2o5$141bo$140bobo$140bobo$141bo$138b3o$138bo6$114bo$112b3o$111bo$
111b2o7$101b2o$100bobo5b2o$100bo7b2o$99b2o2$113bo$109b2obobo$108bobobo bo$105bo2bobobobob2o$105b4ob2o2bo2bo$109bo4b2o$107bobo$107b2o3$104bo$
86b2o14b5o$84bo2bo13bo5bo$84b2obobo12b3o2bo$86bob2o15bob2o$86bo15b4o2b
o$84b3o10b2o3bo3b2o$83bo13b2o4b3o$83b2o20bo$105bob2o$104b2ob2o3$96b2o$96bo$73b2o22b3o$72bobo5b2o17bo$72bo7b2o$71b2o2$85bo$81b2obobo$80bobobo
bo$77bo2bobobobob2o$77b4ob2o2bo2bo$81bo4b2o$79bobo$79b2o!  Edit: It doesn't even work with double input! Hunting Posts: 3182 Joined: September 11th, 2017, 2:54 am Re: Stable signal converters JP21 wrote: April 15th, 2020, 7:46 am Edit: It doesn't even work with double input! In most cases, you can't except a circuit that works with single 2c/3 signal input to be compatible with double input. A doubled 2c/3 signal is super tight and sometimes considered a different signal. And most, if not all, circuits using the 2c/3 signal uses the bait mechanism, so it's not the circuit's fault. Any sufficiently advanced technology is indistinguishable from magic. Moosey wrote: February 5th, 2019, 7:51 pm “New knightship tagalong!” “Quick, hide it!” My TODO list LeapLife - DirtyLife - LispLife dvgrn Moderator Posts: 6842 Joined: May 17th, 2009, 11:00 pm Location: Madison, WI Contact: Re: Stable signal converters Hunting wrote: April 15th, 2020, 9:28 am In most cases, you can't except a circuit that works with single 2c/3 signal input to be compatible with double input. A doubled 2c/3 signal is super tight and sometimes considered a different signal. And most, if not all, circuits using the 2c/3 signal uses the bait mechanism, so it's not the circuit's fault. By "except" I think you mean "expect"? JP21 has a very valid point: the previous four-glider bait mechanism does accept either singleton 2c/3 signals or doubled signals. So this new mechanism can't be as easily used in places like Goldtiger997's Amazing 2 in 1 Reusable Multipurpose Minstrel Remover and Detector™, where a single-to-double signal elbow is needed to get a signal as quickly as possible to a non-diagonal location. Hunting Posts: 3182 Joined: September 11th, 2017, 2:54 am Re: Stable signal converters dvgrn wrote: April 15th, 2020, 9:43 am By "except" I think you mean "expect"? Sure. I was using "except" a lot these days, damn Golly scripts. Any sufficiently advanced technology is indistinguishable from magic. Moosey wrote: February 5th, 2019, 7:51 pm “New knightship tagalong!” “Quick, hide it!” My TODO list LeapLife - DirtyLife - LispLife JP21 Posts: 1046 Joined: October 26th, 2019, 5:39 am Location: PH Re: Stable signal converters If I were to make my own spider eater... Code: Select all x = 337, y = 175, rule = B3/S23 259bo11b2o$258bobo10b2o$246bo3bo3b2o2bobo$244b3o2bobo2bo2b2ob2o$47b2o 194bo5bobo3bobo$46bobo194b2o5bob4o2bob2o$40b2o4bo205bo3bobob2o$38bo2bo
2b2ob4o200bo3bobo$38b2obobobobo2bo199bo3bobo$41bobobobo202b2o3bo$41bob ob2o$42bo2$55b2o206b2o$46b2o7bo207b2o$46b2o5bobo222b2o$53b2o222bo2bo$278b2obo$231b2o48bo$24bo206b2o48b2o$24b3o239b2o$27bo239bo$26b2o236b3o$43b2o207b2o10bo$44bo207bobo$18b2o21b3o210bo$18bo22bo212b2o$15b2obo$15b
o2b3o4b2o$16b2o3bo3b2o$18b4o$18bo15b2o3b2o$19b3o12bobobobo$22bo13bobo$
17b5o14bo2bo$17bo19bobo$19bo18bo213bo$18b2o232b3o$255bo$254bobo$254bob
o$53b2o200bo$53b2o4$33b2o235b2o$32bobo235b2o$32bo$31b2o7b2o$40b2o$250b
2o$48b2obo197bobo$48b2ob3o195bo$54bo193b2o7b2o$48b2ob3o203b2o$49bobo$
49bobo213b2obo$50bo214b2ob3o$271bo$33bo15bo215b2ob3o55b2o$32bobo14b3o
214bobo57bo$33bo18bo49b2o162bobo59bo$51b2o49bo164bo40b2o14b5o$29bo74bo 204bo13bo$27b3o6b2o16b2o28b2o14b5o145bo15bo42bobo12b3o$26bo9b2o15bobo 29bo13bo149bobo14b3o41b2o15bo$26b2o25b2o30bobo12b3o147bo18bo54b4o$86b 2o15bo164b2o49b2o3bo3b2o$23b2o75b4o142bo72b2o4b3o2bo$23bobo69b2o3bo3b 2o138b3o6b2o16b2o54bob2o$24b2o69b2o4b3o2bo136bo9b2o15bobo54bo$103bob2o 136b2o25b2o54b2o$103bo$102b2o136b2o$240bobo75b2o$241b2o75bo$94b2o223b
3o$94bo226bo$95b3o$97bo$92b2o$92bo$90bobo$90b2o$86bo17b2o$85bobo16bo 204b2o$85bobo14bobo204bo$86bo15b2o203bobo$307b2o$303bo17b2o$78b2o222bo
bo16bo$79bo222bobo14bobo$79bobo221bo15b2o$3b2o30bo7bo30bo5b2o$4bo24b2o
bobob2o3b2obobob2o22b3o$2bo23b3obob3o9b3obob3o18bo223b2o$2b5o14b2o3bo
3bobo5bobo5bobo3bo18b2o223bo$7bo13bo8b2o6bobo6b2o7b2o238bobo$4b3o12bob
o5b2o9bobo9b2o5bo45b2o115b2o30bo7bo30bo5b2o$3bo15b2o6b2ob2o15b2ob2o5bo b2o42b2o116bo24b2obobob2o3b2obobob2o22b3o$3b4o24bo15bo10bo2bo157bo23b
3obob3o9b3obob3o18bo$b2o3bo3b2o47b2o158b5o14b2o3bo3bobo5bobo5bobo3bo 18b2o$o2b3o4b2o62b2o148bo13bo8b2o6bobo6b2o7b2o$2obo70b2o145b3o12bobo5b 2o9bobo9b2o5bo45b2o$3bo216bo15b2o6b2ob2o15b2ob2o5bob2o42b2o$3b2o98bo 116b4o24bo15bo10bo2bo$102bobo5bo107b2o3bo3b2o47b2o$103bo4b3o106bo2b3o 4b2o62b2o$11b2o69bo3b2o19bo109b2obo70b2o$12bo68bobo3bo19b2o111bo$9b3o
65b2obobo3bo133b2o98bo$9bo67b2obo4bo7b2o224bobo5bo$81b5obo4bobo20b2o
203bo4b3o$73b2obob2obo4bobo3bo23bo111b2o69bo3b2o19bo$73bob2obo2bob2o2b
o3b2o23bob2o109bo68bobo3bo19b2o$66b2o12b2obob2o21b2o4b3o2bo106b3o65b2o bobo3bo$66b2o40b2o3bo3b2o107bo67b2obo4bo7b2o$113b4o181b5obo4bobo20b2o$
99b2o15bo173b2obob2obo4bobo3bo23bo$98bobo12b3o174bob2obo2bob2o2bo3b2o 23bob2o$98bo13bo170b2o12b2obob2o21b2o4b3o2bo$97b2o14b5o165b2o40b2o3bo 3b2o$117bo212b4o$115bo200b2o15bo$115b2o198bobo12b3o$315bo13bo$314b2o
14b5o$334bo$332bo$332b2o17$68bo$68b3o$71bo$70b2o2$285bo$285b3o$288bo$287b2o2$80b2o$73b2o5bobo$73b2o7bo$82b2o2$69bo227b2o$68bobob2o216b2o5bo bo$68bobobobo215b2o7bo$65b2obobobobo2bo221b2o$65bo2bo2b2ob4o$67b2o4bo 212bo$73bobo209bobob2o$74b2o209bobobobo$282b2obobobobo2bo$282bo2bo2b2o b4o$284b2o4bo$290bobo$291b2o!

It's still bigger though...

LaundryPizza03
Posts: 828
Joined: December 15th, 2017, 12:05 am
Location: Unidentified location "https://en.wikipedia.org/wiki/Texas"

Re: Stable signal converters

User Entity Valkyrie 2 posted a simple E-to-H converter in an OCA thread (original post). His rule was probably intended to be Pedestrian Life (B38/S23), but it works in standard Life as well.

Code: Select all

x = 12, y = 31, rule = B3/S23
10b2o$10bo$8bobo$8b2o7$o$obo$3o$bo4$3b2o$3b2o10$b3o$3bo$3b2o!


Code: Select all

x = 4, y = 3, rule = B3-q4z5y/S234k5j
2b2o$b2o$2o!

LaundryPizza03 at Wikipedia

The latest edition of new-gliders.db.txt and oscillators.db.txt have 31117 spaceships and 1150 oscillators from outer-totalistic rules. You are invited to help!

A for awesome
Posts: 2063
Joined: September 13th, 2014, 5:36 pm
Location: 0x-1
Contact:

Re: Stable signal converters

LaundryPizza03 wrote:
May 19th, 2020, 11:21 pm
User Entity Valkyrie 2 posted a simple E-to-H converter in an OCA thread (original post). His rule was probably intended to be Pedestrian Life (B38/S23), but it works in standard Life as well.

Code: Select all

x = 12, y = 31, rule = B3/S23
10b2o$10bo$8bobo$8b2o7$o$obo$3o$bo4$3b2o$3b2o10$b3o$3bo$3b2o!

This same pattern, or something very similar, is floating around somewhere in the middle pages of the Hunting of the New Herschel Conduits thread, if I remember right — out in the wilderness where neither Google or the forum search utility can find it with only the single letter E as a clue to its whereabouts. Regardless, there's not currently an X-to-E that works with it (there's one H-to-E I know of, which generates the E from the wrong direction for this, but nothing else as far as I'm aware), so it's moot for now.

EDIT: Surprisingly, I'm not finding it there at the moment, or in the Elementary Conduits thread. I distinctly remember having seen it somewhere on the forums at least twice, though.
x₁=ηx
V ⃰_η=c²√(Λη)
K=(Λu²)/2
Pₐ=1−1/(∫^∞_t₀(p(t)ˡ⁽ᵗ⁾)dt)

$$x_1=\eta x$$
$$V^*_\eta=c^2\sqrt{\Lambda\eta}$$
$$K=\frac{\Lambda u^2}2$$
$$P_a=1-\frac1{\int^\infty_{t_0}p(t)^{l(t)}dt}$$

http://conwaylife.com/wiki/A_for_all

Aidan F. Pierce

A for awesome
Posts: 2063
Joined: September 13th, 2014, 5:36 pm
Location: 0x-1
Contact:

Re: Stable signal converters

In response to this amazing stable glider shifter by EE and EV2, here's a direct G-to-LOM via a different eater placement:

Code: Select all

x = 38, y = 34, rule = B3/S23
6$33bo$32bobo$32bobo$31b2ob3o$19b2o16bo$19b2o10b2ob3o$31b2obo2$7b2o$8b o$8bobo$9b2o2$34b2o$20bo4bo8b2o$21b2obobo$20b2o2bo2bo$25b2o3$32b2o$32b
2o3$13b3o$13b4o$14b3o6b2o$23b2o!
Unfortunately, I don't know if there's a way to get an output signal from it — LOMs are quite difficult to work with, being symmetrical and all.
x₁=ηx
V ⃰_η=c²√(Λη)
K=(Λu²)/2
Pₐ=1−1/(∫^∞_t₀(p(t)ˡ⁽ᵗ⁾)dt)

$$x_1=\eta x$$
$$V^*_\eta=c^2\sqrt{\Lambda\eta}$$
$$K=\frac{\Lambda u^2}2$$
$$P_a=1-\frac1{\int^\infty_{t_0}p(t)^{l(t)}dt}$$

http://conwaylife.com/wiki/A_for_all

Aidan F. Pierce

Scorbie
Posts: 1448
Joined: December 7th, 2013, 1:05 am

Re: Stable signal converters

Congrats, EE and EV2!
Nice work by A for Awesome too!
I couldn't resist the hype that something would come out! (Nothing useful right now)

Code: Select all

x = 83, y = 58, rule = LifeHistory
8.A$8.3A$11.A$10.2A3$24.2D$24.D.D$24.D.D10.2A.2A$25.2D11.A.A.A$38.A3.
A$33.2A.2A.3A3.A$4.2A28.2A.A.A2.4A$4.2A8.A.A15.A6.A.A6.A$15.2A15.8A.A
2.5A$15.A25.A.A5.2A$26.2A2.5A.4A.A2.A.2A.A.A$15.2A9.2A2.A3.A.A2.A.2A. A.A.A2.A$14.A2.A15.A3.A2.A3.A.A4.A.2A$15.A.A16.3A4.4A.2A2.2A2.A$16.A
22.A.A6.A3.A$34.6A.A.5A.3A3.A$33.A6.A.A4.A.A2.4A$33.A.A2.A3.A2.A3.A.A 6.A$3.A.2A27.2A2.2A2.A.A.4A.A2.5A$.3A.2A13.2A19.2A.A6.A.A5.2A$A19.2A
22.A.4A.A2.A.2A.A.A$.3A.2A6.2A29.A.A2.A.2A.A.A.A2.A$3.A.A7.2A28.2A2.A
2.A3.A.A4.A.2A$3.A.A39.2A4.4A.2A2.2A2.A$4.A40.A3.A.A6.A3.A$46.4A.A.5A .3A3.A$50.A.A4.A.A2.4A$48.A3.A2.A3.A.A6.A$48.2A2.A.A.4A.A2.5A$51.2A.A 6.A.A5.2A$54.A.4A.A2.A.2A.A.A$54.A.A2.A.2A.A.A.A2.A$53.2A2.A2.A3.A.A
4.A.2A$55.2A4.4A.2A2.2A2.A$55.A3.A.A6.A3.A$56.4A.A.5A.3A3.A$60.A.A4.A
.A2.4A$58.A3.A2.A3.A.A6.A$58.2A2.A.A.4A.A2.5A$61.2A.A6.A.A5.2A$64.A.
4A.A2.A.2A.A2.A$64.A.A2.A.2A.A.A.A2.2A$63.2A2.A2.A3.A.A$65.2A4.4A.2A$
65.A3.A.A6.A$66.4A.A.5A.A$70.A.A4.A.A$68.A3.A2.A3.2A$68.2A2.A.A.3A2.A
$71.2A.A5.A$75.A.3A\$76.2A!

Best wishes to you, Scorbie

dvgrn
Moderator
Posts: 6842
Joined: May 17th, 2009, 11:00 pm