Skip to content

Instantly share code, notes, and snippets.

Ilmari Karonen vyznev

Block or report user

Report or block vyznev

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@vyznev
vyznev / apgdecode.py
Last active Feb 4, 2019
Golly script for loading apgcodes as patterns
View apgdecode.py
#! /usr/bin/python
# apgdecode.py v0.2
# A script for loading apgcodes (http://conwaylife.com/wiki/Apgcode) as Golly (http://golly.sourceforge.net/) patterns.
# Supports extended and multistate apgcodes. (Multistate handling may still have bugs. Let me know if you find any.)
# Copyright 2019 Ilmari Karonen. Released under the WTFPL (http://www.wtfpl.net/).
import golly as g
import re
@vyznev
vyznev / se-sticky-vote-buttons.user.js
Last active Jan 22, 2019
Enable sticky vote buttons on Stack Exchange sites
View se-sticky-vote-buttons.user.js
// ==UserScript==
// @name SE Sticky Vote Buttons
// @namespace https://github.com/vyznev/
// @description Enable sticky vote buttons on Stack Exchange sites
// @author Ilmari Karonen
// @version 0.5.1
// @copyright 2018, Ilmari Karonen
// @match *://*.stackexchange.com/*
// @match *://*.stackoverflow.com/*
// @match *://*.superuser.com/*
@vyznev
vyznev / se-bounty-bar.user.js
Last active Apr 30, 2019
Stack Exchange Bounty Bar user script (prototype)
View se-bounty-bar.user.js
// ==UserScript==
// @name Stack Exchange Bounty Bar
// @namespace https://github.com/vyznev/
// @description Shows a randomized selection of bountied questions in the Stack Exchange sidebar
// @author Ilmari Karonen
// @version 0.0.18
// @copyright 2018, Ilmari Karonen
// @license ISC; https://opensource.org/licenses/ISC
// @match *://*.stackexchange.com/*
// @match *://*.stackoverflow.com/*
@vyznev
vyznev / neumann2moore_partial.py
Created Feb 3, 2018
Convert pairs of isotropic CA rule strings on the 4-cell von Neumann neighborhood into a Logic Life Search partial rule dictionary.
View neumann2moore_partial.py
#!/usr/bin/python
import re
import sys
import argparse
parser = argparse.ArgumentParser(description='Generate LLS rule dict to search multiple isotropic CA rules on the 4-cell von Neumann neighborhood.')
parser.add_argument('minrule', help='minimum rule string (e.g. B0/S)')
parser.add_argument('maxrule', nargs='?', help='maximum rule string (e.g. B0234/S01)')
parser.add_argument('-t', '--totalistic', action='store_true', help='consider only (outer) totalistic rules, i.e. treat 2e and 2i as equivalent')
@vyznev
vyznev / neumann2moore.py
Last active Feb 3, 2018
Convert isotropic CA rule strings from the 4-cell von Neumann neighborhood to the 8-cell Moore neighborhood
View neumann2moore.py
#!/usr/bin/python
neumann2moore = {
"0": {0: "", 1: "c", 2: "cn", 3: "c", 4: "c"},
"1": {1: "e", 2: "ka", 3: "inyq", 4: "ny", 5: "e"},
"2e": {2: "e", 3: "kaj", 4: "kaqw", 5: "kaj", 6: "e"},
"2i": {2: "i", 3: "r", 4: "itz", 5: "r", 6: "i"},
"3": {3: "e", 4: "jr", 5: "inyq", 6: "ka", 7: "e"},
"4": {4: "e", 5: "c", 6: "cn", 7: "c", 8: ""}
}
@vyznev
vyznev / make_lls_grid.py
Last active Feb 6, 2018
Generate Logic Life Search (LLS) input grid for finding spaceships and oscillators, with additional features not yet supported natively by LSS (like strobing background and gradually moving search area).
View make_lls_grid.py
#!/usr/bin/python
import re
import sys
import argparse
def fail(msg):
sys.stderr.write(sys.argv[0] + ": " + msg + "\n")
sys.exit(1)
@vyznev
vyznev / hex2map.py
Last active Jan 27, 2018
Convert non-totalistic hexagonal CA rules to MAP rules
View hex2map.py
#!/usr/bin/python
"""
This script converts hexagonal isotropic (possibly non-totalistic) CA rules[1]
into the equivalent MAP rules[2]. It runs under both Python 2 and Python 3, and
can be used either as a stand-along script (with the rules given as command line
arguments) or as a Golly plug-in.
[1]: http://www.conwaylife.com/wiki/Isotropic_non-totalistic_Life-like_cellular_automaton#Hexagonal_neighbourhood
[2]: http://golly.sourceforge.net/Help/Algorithms/QuickLife.html
"""
@vyznev
vyznev / incremental-markdown-preview.user.js
Last active Jul 10, 2018
Incremental Markdown preview for Stack Exchange
View incremental-markdown-preview.user.js
// ==UserScript==
// @name Incremental Markdown Preview for Stack Exchange
// @namespace https://github.com/vyznev/
// @description Speeds up the live Markdown preview on Stack Exchange sites by only updating changed DOM nodes
// @author Ilmari Karonen
// @version 0.1.0
// @copyright 2017-2018, Ilmari Karonen
// @license ISC; https://opensource.org/licenses/ISC
// @match *://*.stackexchange.com/*
// @match *://*.stackoverflow.com/*
@vyznev
vyznev / se_timeline_link.user.js
Last active May 23, 2018
Stack Exchange timeline link user script
View se_timeline_link.user.js
You can’t perform that action at this time.