Catagolue Discussion Thread

For general discussion about Conway's Game of Life.
User avatar
Layz Boi
Posts: 98
Joined: October 25th, 2018, 3:57 pm

Re: Catagolue Discussion Thread

Post by Layz Boi » May 2nd, 2020, 9:00 pm

dvgrn wrote:
May 2nd, 2020, 8:45 pm
Layz Boi wrote:
May 2nd, 2020, 8:33 pm
Is there a way I can say, upload a pattern and Catagolue will tell me whether or not said pattern is already in the Catagolue database?
Sure -- or pretty close, anyway. Select a pattern in Golly and run biggiemac's script.

Try some random object like this

Code: Select all

x = 11, y = 14, rule = B3/S23
9b2o$6bo3bo$6b4o2$4b4o$3bo3bo$3b2o$5bo$5bo$ob2obob2o$2obobob2o$3bobo$
3bobo$4bo!
and you'll find that it takes you to a page with a valid apgcode, xs35_woo0u1ug8ozxogjkczca226.

But if there are no soups listed for that object, and no synthesis, then usually that pretty much counts as "not in the Catagolue database".

(There are some cases where complete lists of, say, N-bit objects have been uploaded to Catagolue whether or not they've been seen in soups or synthesized, but those are the exception not the rule.)
Thanks! I'll give it a try sometime! :D

bubblegum
Posts: 138
Joined: August 25th, 2019, 11:59 pm
Location: click here to do nothing

Re: Catagolue Discussion Thread

Post by bubblegum » May 3rd, 2020, 4:00 pm

Probably my biggest irk with Catagolue is this:
xp3_318c (viewer)
xq4_46bqs8_08 (image)
xs4_33 (broken viewer)

Can we get a "stop being lazy, calcyman" request here?
b3-nqrs23 (ribbons)

Code: Select all

x = 29, y = 16, rule = B3-nqr/S23
3b3o$3bo2bo$5b2o3$2o16b2o4bob2o$obo15bobo3b2o2bo$2bobo14b2o6b2o$3b2o17b
2ob2o$6bob2o13bobo2bo$5b2obo8b2obo5b3o$4bo3bobo6b2ob2o$3obobo2b2o12b2o
2b2o$5b2o9b2o4b2obobo$16b2o7bobo$25b2o!

User avatar
Saka
Posts: 3433
Joined: June 19th, 2015, 8:50 pm
Location: In the kingdom of Sultan Hamengkubuwono X
Contact:

Re: Catagolue Discussion Thread

Post by Saka » May 20th, 2020, 2:17 am

Is something wrong with Catagolue at the moment?
My hauls for some LTL rules aren't committing (or rather, no hauls seem to be committing, or uploaded), and the contributions graph looks like this (Notice the "today" bar)
Image

EDIT:
From GUYTU6J
GUYTU6J, in a PM, wrote:I've just realized a similar problem with my b3s23/8Glider_stdin haul that was uploaded last night. The search method and the outcome was usual, yet it was not registered into the census.

EDIT: there is even no entry for b3s23/C1 or G1 in the Recently updated section :shock:
I noticed that last one as well. Very weird. The top recently updated is now "r5b39t80s26t53/C1 (2020-05-20 05:25:43)"

EDIT 2:
GUYTU6J, in a PM, wrote:I found another oddity: you can try compiling apgluxe.exe with b3s23/C1, and then run it. Normally there should be a peer-reviewing process before the search begins, but now I get "no more hauls to verify" even though there are a large quantity to be verified.

Code: Select all

o3b2ob2obo3b2o2b2o$bo3b2obob3o3bo2bo$2bo2b3o5b3ob4o$3o3bo2bo2b3o3b3o$
4bo4bobo4bo$2o2b2o2b4obo2bo3bo$2ob4o3bo2bo2bo2bo$b2o3bobob2o$3bobobo5b
obobobo$3bobobob2o3bo2bobo!
(Check gen 3)
Add your computer to the Table of Lifeenthusiast Computers!

Hunting
Posts: 3049
Joined: September 11th, 2017, 2:54 am

Re: Catagolue Discussion Thread

Post by Hunting » May 20th, 2020, 9:15 am

How does the Twitter thing work? I want to keep track of certain censuses like, umm, b2n3s23-q/C1 by sending me an email every time a new object was found.
MLP will live on forever, so does John Horton Conway.
Moosey wrote:
February 5th, 2019, 7:51 pm
“New knightship tagalong!”
“Quick, hide it!”
My TODO list

LeapLife - DirtyLife - LispLife

I could make a rule in ten seconds flat

User avatar
Saka
Posts: 3433
Joined: June 19th, 2015, 8:50 pm
Location: In the kingdom of Sultan Hamengkubuwono X
Contact:

Re: Catagolue Discussion Thread

Post by Saka » May 20th, 2020, 9:18 am

Saka wrote:
May 20th, 2020, 2:17 am
Is something wrong with Catagolue at the moment?
...
Looks, like it's been fixed. Apparently, this was the issue:
apgoucher, on the Discord wrote:Someone uploaded huge hauls for the rules b345s56[7]8/C1, and Catagolue's cron process was getting 'out of memory' errors.
I've pushed a fix, so everything should iron itself out without any loss of data.
Link to the message: https://discord.com/channels/3579222555 ... 9548360715

Code: Select all

o3b2ob2obo3b2o2b2o$bo3b2obob3o3bo2bo$2bo2b3o5b3ob4o$3o3bo2bo2b3o3b3o$
4bo4bobo4bo$2o2b2o2b4obo2bo3bo$2ob4o3bo2bo2bo2bo$b2o3bobob2o$3bobobo5b
obobobo$3bobobob2o3bo2bobo!
(Check gen 3)
Add your computer to the Table of Lifeenthusiast Computers!

Hunting
Posts: 3049
Joined: September 11th, 2017, 2:54 am

Re: Catagolue Discussion Thread

Post by Hunting » May 20th, 2020, 9:20 am

Saka wrote:
May 20th, 2020, 9:18 am
Saka wrote:
May 20th, 2020, 2:17 am
Is something wrong with Catagolue at the moment?
...
Looks, like it's been fixed. Apparently, this was the issue:
apgoucher, on the Discord wrote:Someone uploaded huge hauls for the rules b345s56[7]8/C1, and Catagolue's cron process was getting 'out of memory' errors.
I've pushed a fix, so everything should iron itself out without any loss of data.
Link to the message: https://discord.com/channels/3579222555 ... 9548360715
Ah, yeah, LaundryPizza03 (and me as well) is enumerating all B3 rules, so that was an accident.
MLP will live on forever, so does John Horton Conway.
Moosey wrote:
February 5th, 2019, 7:51 pm
“New knightship tagalong!”
“Quick, hide it!”
My TODO list

LeapLife - DirtyLife - LispLife

I could make a rule in ten seconds flat

Hunting
Posts: 3049
Joined: September 11th, 2017, 2:54 am

Re: Catagolue Discussion Thread

Post by Hunting » May 21st, 2020, 8:37 am

Hunting wrote:
May 20th, 2020, 9:15 am
How does the Twitter thing work? I want to keep track of certain censuses like, umm, b2n3s23-q/C1 by sending me an email every time a new object was found.
MLP will live on forever, so does John Horton Conway.
Moosey wrote:
February 5th, 2019, 7:51 pm
“New knightship tagalong!”
“Quick, hide it!”
My TODO list

LeapLife - DirtyLife - LispLife

I could make a rule in ten seconds flat

lemon41625
Posts: 162
Joined: January 24th, 2020, 7:39 am
Location: 小红点 (if you know where that is)

Re: Catagolue Discussion Thread

Post by lemon41625 » May 22nd, 2020, 1:20 am

Hunting wrote:
May 21st, 2020, 8:37 am
Hunting wrote:
May 20th, 2020, 9:15 am
How does the Twitter thing work? I want to keep track of certain censuses like, umm, b2n3s23-q/C1 by sending me an email every time a new object was found.
Some code that crawls catagolue and prints out every new object to the console.

Python 3.x Version

Code: Select all

import re
import time
import urllib.request

known_objects = set()


def parse():
    global known_objects
    census_link = "https://catagolue.appspot.com/census/b2n3s23-q/C1"
    response = urllib.request.urlopen(census_link)  # Getting HTML
    page_source = response.read().decode("utf-8")

    stuff = re.findall("<li>(.*?)</li>", page_source)
    for i in stuff:
        new_link = "https://catagolue.appspot.com/" + re.findall("\"(.*?)\"", i)[0]

        response = urllib.request.urlopen(new_link)  # Getting HTML
        page_source = response.read().decode("utf-8")

        objects = re.findall("<td><a href=\"(.*?)\">", page_source)
        for obj in objects:
            if obj.split("/")[2] not in known_objects:
                print("NEW OBJECT:", obj.split("/")[2])
            known_objects.add(obj.split("/")[2])


while True:
    parse()
    print("++++++++++++++++++++++++++++++")
    time.sleep(600)
Python 2.x Version

Code: Select all

import re
import time
import urllib2

known_objects = set()


def parse():
    global known_objects
    census_link = "https://catagolue.appspot.com/census/b2n3s23-q/C1"
    response = urllib2.urlopen(census_link)  # Getting HTML
    page_source = response.read().decode("utf-8")

    stuff = re.findall("<li>(.*?)</li>", page_source)
    for i in stuff:
        new_link = "https://catagolue.appspot.com/" + re.findall("\"(.*?)\"", i)[0]

        response = urllib2.urlopen(new_link)  # Getting HTML
        page_source = response.read().decode("utf-8")

        objects = re.findall("<td><a href=\"(.*?)\">", page_source)
        for obj in objects:
            if obj.split("/")[2] not in known_objects:
                print("NEW OBJECT:", obj.split("/")[2])
            known_objects.add(obj.split("/")[2])


while True:
    parse()
    print("++++++++++++++++++++++++++++++")
    time.sleep(600)
I will write the sending email part later.
EDIT: Actually I don't know how to write the sending email part. Do it yourself.
Download CAViewer: https://github.com/jedlimlx/Cellular-Automaton-Viewer

Supports:
BSFKL, Extended Generations, Regenerating Generations, Naive Rules, R1 Moore, R2 Cross and R2 Von Neumann INT
And some others...

Hunting
Posts: 3049
Joined: September 11th, 2017, 2:54 am

Re: Catagolue Discussion Thread

Post by Hunting » May 23rd, 2020, 5:53 am

lemon41625 wrote:
May 22nd, 2020, 1:20 am
Hunting wrote:
May 21st, 2020, 8:37 am
Hunting wrote:
May 20th, 2020, 9:15 am
How does the Twitter thing work? I want to keep track of certain censuses like, umm, b2n3s23-q/C1 by sending me an email every time a new object was found.
Some code that crawls catagolue and prints out every new object to the console.
Using a known-objects variable is definitely no good - one of the main part is to store the census to a file and use it the next time.

Plus, why do you have to use the regular fancy census page? The text census is much more suitable here.
MLP will live on forever, so does John Horton Conway.
Moosey wrote:
February 5th, 2019, 7:51 pm
“New knightship tagalong!”
“Quick, hide it!”
My TODO list

LeapLife - DirtyLife - LispLife

I could make a rule in ten seconds flat

lemon41625
Posts: 162
Joined: January 24th, 2020, 7:39 am
Location: 小红点 (if you know where that is)

Re: Catagolue Discussion Thread

Post by lemon41625 » May 23rd, 2020, 7:31 am

Hunting wrote:
May 23rd, 2020, 5:53 am
lemon41625 wrote:
May 22nd, 2020, 1:20 am
Hunting wrote:
May 21st, 2020, 8:37 am
Some code that crawls catagolue and prints out every new object to the console.
Using a known-objects variable is definitely no good - one of the main part is to store the census to a file and use it the next time.

Plus, why do you have to use the regular fancy census page? The text census is much more suitable here.
Oh, I didn't know the text census page existed. I'll update the code later.
Download CAViewer: https://github.com/jedlimlx/Cellular-Automaton-Viewer

Supports:
BSFKL, Extended Generations, Regenerating Generations, Naive Rules, R1 Moore, R2 Cross and R2 Von Neumann INT
And some others...

User avatar
gameoflifemaniac
Posts: 1051
Joined: January 22nd, 2017, 11:17 am
Location: There too

Re: Catagolue Discussion Thread

Post by gameoflifemaniac » May 24th, 2020, 7:32 am

Are there any examples of rare patterns that have emerged out of a symmetric mesh that has emerged out of an asymmetric soup besides cloverleaf interchange?
I was so socially awkward in the past and it will haunt me for my entire life.

Hunting
Posts: 3049
Joined: September 11th, 2017, 2:54 am

Re: Catagolue Discussion Thread

Post by Hunting » May 24th, 2020, 12:22 pm

gameoflifemaniac wrote:
May 24th, 2020, 7:32 am
Are there any examples of rare patterns that have emerged out of a symmetric mesh that has emerged out of an asymmetric soup besides cloverleaf interchange?
Besides CI... professor?
MLP will live on forever, so does John Horton Conway.
Moosey wrote:
February 5th, 2019, 7:51 pm
“New knightship tagalong!”
“Quick, hide it!”
My TODO list

LeapLife - DirtyLife - LispLife

I could make a rule in ten seconds flat

lemon41625
Posts: 162
Joined: January 24th, 2020, 7:39 am
Location: 小红点 (if you know where that is)

Re: Catagolue Discussion Thread

Post by lemon41625 » May 25th, 2020, 8:43 am

Python 2.x Version

Code: Select all

import re
import time
import pickle
import urllib2

known_objects = set()


def parse():
    global known_objects
    census_link = "http://gol.hatsya.co.uk/textcensus/b2n3s23-q/C1"
    response = urllib2.urlopen(census_link)  # Getting HTML
    page_source = response.read().decode("utf-8")

    try: known_objects = pickle.load(open("known_objects.pickle", "rb"))
    except IOError: pass

    for i in re.findall("\"(.*?)\"", page_source):
        if "xp" in i or "xq" in i or "xs" in i or "yl" in i or "zz" in i:
            if i not in known_objects:
                print(i)
                known_objects.add(i)

    pickle.dump(known_objects, open("known_objects.pickle", "wb"))


while True:
    parse()
    print("++++++++++++++++++++++++++++++")
    time.sleep(600)
Python 3.x Version

Code: Select all

import re
import time
import pickle
import urllib.request

known_objects = set()


def parse():
    global known_objects
    census_link = "http://gol.hatsya.co.uk/textcensus/b2n3s23-q/C1"
    response = urllib.request.urlopen(census_link)  # Getting HTML
    page_source = response.read().decode("utf-8")

    try: known_objects = pickle.load(open("known_objects.pickle", "rb"))
    except FileNotFoundError: pass

    for i in re.findall("\"(.*?)\"", page_source):
        if "xp" in i or "xq" in i or "xs" in i or "yl" in i or "zz" in i:
            if i not in known_objects:
                print(i)
                known_objects.add(i)

    pickle.dump(known_objects, open("known_objects.pickle", "wb"))


while True:
    parse()
    print("++++++++++++++++++++++++++++++")
    time.sleep(600)
Download CAViewer: https://github.com/jedlimlx/Cellular-Automaton-Viewer

Supports:
BSFKL, Extended Generations, Regenerating Generations, Naive Rules, R1 Moore, R2 Cross and R2 Von Neumann INT
And some others...

Post Reply