6 replaced http://codegolf.stackexchange.com/ with https://codegolf.stackexchange.com/

## Mathematica, 359

i=InputString;f=Transpose;b=(p=FromDigits/@Characters@#&)@i[];s=p@i[];Map[FromDigits[#,2]&/@#~ArrayReshape~{3,8}&,f[(g=#;{#,Total[g~RotateRight~#&/@Drop[Join@@Table[{i,j},{i,-1,1},{j,-1,1}],{5}],1]}~f~{3,1,2}/.{l_,n_}:>Boole[l<1&&!b~FreeQ~n||l>0&&!s~FreeQ~n])&/@Apply[Join,IntegerDigits[ImageData[Import@i[],y="byte"],2,8],{2}]~f~{2,3,1},{3,1,2}],{2}]~Image~y


I'm taking input from string prompts in the order (1) birth rules, (2) survival rules, (3) file name, and I'm displaying the result right in Mathematica.

This should be able to deal with most popular formats, as long as the file actually has 24-bit depth.

Here is a somewhat ungolfed version:

i = InputString;
f = Transpose;
b = (p = FromDigits /@ Characters@# &)@i[];
s = p@i[];
Map[
FromDigits[#,2] & /@ #~ArrayReshape~{3, 8} &,
f[
(
g = #;
{#,
Total[g~RotateRight~# & /@
Drop[Join @@ Table[{i, j}, {i, -1, 1}, {j, -1, 1}], {5}],
1]}~f~{3, 1, 2} /. {l_, n_} :>
Boole[l < 1 && ! b~FreeQ~n || l > 0 && ! s~FreeQ~n]
) & /@
Apply[Join,
IntegerDigits[ImageData[Import@i[], y = "byte"], 2, 8], {2}]~
f~{2, 3, 1},
{3, 1, 2}
],
{2}
]~Image~y


Here are two examples using RainboltRainbolt's avatar:

20 generations using the standard Game of Life [3,23]:

20 generations using [456,34567]:

And here is a GIF of the first 200 generations of the latter rule. The GIF skips every third frame, because I couldn't compress it below 2MB otherwise:

## Mathematica, 359

i=InputString;f=Transpose;b=(p=FromDigits/@Characters@#&)@i[];s=p@i[];Map[FromDigits[#,2]&/@#~ArrayReshape~{3,8}&,f[(g=#;{#,Total[g~RotateRight~#&/@Drop[Join@@Table[{i,j},{i,-1,1},{j,-1,1}],{5}],1]}~f~{3,1,2}/.{l_,n_}:>Boole[l<1&&!b~FreeQ~n||l>0&&!s~FreeQ~n])&/@Apply[Join,IntegerDigits[ImageData[Import@i[],y="byte"],2,8],{2}]~f~{2,3,1},{3,1,2}],{2}]~Image~y


I'm taking input from string prompts in the order (1) birth rules, (2) survival rules, (3) file name, and I'm displaying the result right in Mathematica.

This should be able to deal with most popular formats, as long as the file actually has 24-bit depth.

Here is a somewhat ungolfed version:

i = InputString;
f = Transpose;
b = (p = FromDigits /@ Characters@# &)@i[];
s = p@i[];
Map[
FromDigits[#,2] & /@ #~ArrayReshape~{3, 8} &,
f[
(
g = #;
{#,
Total[g~RotateRight~# & /@
Drop[Join @@ Table[{i, j}, {i, -1, 1}, {j, -1, 1}], {5}],
1]}~f~{3, 1, 2} /. {l_, n_} :>
Boole[l < 1 && ! b~FreeQ~n || l > 0 && ! s~FreeQ~n]
) & /@
Apply[Join,
IntegerDigits[ImageData[Import@i[], y = "byte"], 2, 8], {2}]~
f~{2, 3, 1},
{3, 1, 2}
],
{2}
]~Image~y


Here are two examples using Rainbolt's avatar:

20 generations using the standard Game of Life [3,23]:

20 generations using [456,34567]:

And here is a GIF of the first 200 generations of the latter rule. The GIF skips every third frame, because I couldn't compress it below 2MB otherwise:

## Mathematica, 359

i=InputString;f=Transpose;b=(p=FromDigits/@Characters@#&)@i[];s=p@i[];Map[FromDigits[#,2]&/@#~ArrayReshape~{3,8}&,f[(g=#;{#,Total[g~RotateRight~#&/@Drop[Join@@Table[{i,j},{i,-1,1},{j,-1,1}],{5}],1]}~f~{3,1,2}/.{l_,n_}:>Boole[l<1&&!b~FreeQ~n||l>0&&!s~FreeQ~n])&/@Apply[Join,IntegerDigits[ImageData[Import@i[],y="byte"],2,8],{2}]~f~{2,3,1},{3,1,2}],{2}]~Image~y


I'm taking input from string prompts in the order (1) birth rules, (2) survival rules, (3) file name, and I'm displaying the result right in Mathematica.

This should be able to deal with most popular formats, as long as the file actually has 24-bit depth.

Here is a somewhat ungolfed version:

i = InputString;
f = Transpose;
b = (p = FromDigits /@ Characters@# &)@i[];
s = p@i[];
Map[
FromDigits[#,2] & /@ #~ArrayReshape~{3, 8} &,
f[
(
g = #;
{#,
Total[g~RotateRight~# & /@
Drop[Join @@ Table[{i, j}, {i, -1, 1}, {j, -1, 1}], {5}],
1]}~f~{3, 1, 2} /. {l_, n_} :>
Boole[l < 1 && ! b~FreeQ~n || l > 0 && ! s~FreeQ~n]
) & /@
Apply[Join,
IntegerDigits[ImageData[Import@i[], y = "byte"], 2, 8], {2}]~
f~{2, 3, 1},
{3, 1, 2}
],
{2}
]~Image~y


Here are two examples using Rainbolt's avatar:

20 generations using the standard Game of Life [3,23]:

20 generations using [456,34567]:

And here is a GIF of the first 200 generations of the latter rule. The GIF skips every third frame, because I couldn't compress it below 2MB otherwise:

5 added 236 characters in body

## Mathematica, 359

i=InputString;f=Transpose;b=(p=FromDigits/@Characters@#&)@i[];s=p@i[];Map[FromDigits[#,2]&/@#~ArrayReshape~{3,8}&,f[(g=#;{#,Total[g~RotateRight~#&/@Drop[Join@@Table[{i,j},{i,-1,1},{j,-1,1}],{5}],1]}~f~{3,1,2}/.{l_,n_}:>Boole[l<1&&!b~FreeQ~n||l>0&&!s~FreeQ~n])&/@Apply[Join,IntegerDigits[ImageData[Import@i[],y="byte"],2,8],{2}]~f~{2,3,1},{3,1,2}],{2}]~Image~y


I'm taking input from string prompts in the order (1) birth rules, (2) survival rules, (3) file name, and I'm displaying the result right in Mathematica.

This should be able to deal with most popular formats, as long as the file actually has 24-bit depth.

Here is a somewhat ungolfed version:

i = InputString;
f = Transpose;
b = (p = FromDigits /@ Characters@# &)@i[];
s = p@i[];
Map[
FromDigits[#,2] & /@ #~ArrayReshape~{3, 8} &,
f[
(
g = #;
{#,
Total[g~RotateRight~# & /@
Drop[Join @@ Table[{i, j}, {i, -1, 1}, {j, -1, 1}], {5}],
1]}~f~{3, 1, 2} /. {l_, n_} :>
Boole[l < 1 && ! b~FreeQ~n || l > 0 && ! s~FreeQ~n]
) & /@
Apply[Join,
IntegerDigits[ImageData[Import@i[], y = "byte"], 2, 8], {2}]~
f~{2, 3, 1},
{3, 1, 2}
],
{2}
]~Image~y


Here are two examples using Rainbolt's avatar:

20 generations using the standard Game of Life [3,23]:

20 generations using [456,34567]:

And here is a GIF of the first 200 generations of the latter rule. The GIF skips every third frame, because I couldn't compress it below 2MB otherwise:

## Mathematica, 359

i=InputString;f=Transpose;b=(p=FromDigits/@Characters@#&)@i[];s=p@i[];Map[FromDigits[#,2]&/@#~ArrayReshape~{3,8}&,f[(g=#;{#,Total[g~RotateRight~#&/@Drop[Join@@Table[{i,j},{i,-1,1},{j,-1,1}],{5}],1]}~f~{3,1,2}/.{l_,n_}:>Boole[l<1&&!b~FreeQ~n||l>0&&!s~FreeQ~n])&/@Apply[Join,IntegerDigits[ImageData[Import@i[],y="byte"],2,8],{2}]~f~{2,3,1},{3,1,2}],{2}]~Image~y


I'm taking input from string prompts in the order (1) birth rules, (2) survival rules, (3) file name, and I'm displaying the result right in Mathematica.

This should be able to deal with most popular formats, as long as the file actually has 24-bit depth.

Here is a somewhat ungolfed version:

i = InputString;
f = Transpose;
b = (p = FromDigits /@ Characters@# &)@i[];
s = p@i[];
Map[
FromDigits[#,2] & /@ #~ArrayReshape~{3, 8} &,
f[
(
g = #;
{#,
Total[g~RotateRight~# & /@
Drop[Join @@ Table[{i, j}, {i, -1, 1}, {j, -1, 1}], {5}],
1]}~f~{3, 1, 2} /. {l_, n_} :>
Boole[l < 1 && ! b~FreeQ~n || l > 0 && ! s~FreeQ~n]
) & /@
Apply[Join,
IntegerDigits[ImageData[Import@i[], y = "byte"], 2, 8], {2}]~
f~{2, 3, 1},
{3, 1, 2}
],
{2}
]~Image~y


Here are two examples using Rainbolt's avatar:

20 generations using the standard Game of Life [3,23]:

20 generations using [456,34567]:

## Mathematica, 359

i=InputString;f=Transpose;b=(p=FromDigits/@Characters@#&)@i[];s=p@i[];Map[FromDigits[#,2]&/@#~ArrayReshape~{3,8}&,f[(g=#;{#,Total[g~RotateRight~#&/@Drop[Join@@Table[{i,j},{i,-1,1},{j,-1,1}],{5}],1]}~f~{3,1,2}/.{l_,n_}:>Boole[l<1&&!b~FreeQ~n||l>0&&!s~FreeQ~n])&/@Apply[Join,IntegerDigits[ImageData[Import@i[],y="byte"],2,8],{2}]~f~{2,3,1},{3,1,2}],{2}]~Image~y


I'm taking input from string prompts in the order (1) birth rules, (2) survival rules, (3) file name, and I'm displaying the result right in Mathematica.

This should be able to deal with most popular formats, as long as the file actually has 24-bit depth.

Here is a somewhat ungolfed version:

i = InputString;
f = Transpose;
b = (p = FromDigits /@ Characters@# &)@i[];
s = p@i[];
Map[
FromDigits[#,2] & /@ #~ArrayReshape~{3, 8} &,
f[
(
g = #;
{#,
Total[g~RotateRight~# & /@
Drop[Join @@ Table[{i, j}, {i, -1, 1}, {j, -1, 1}], {5}],
1]}~f~{3, 1, 2} /. {l_, n_} :>
Boole[l < 1 && ! b~FreeQ~n || l > 0 && ! s~FreeQ~n]
) & /@
Apply[Join,
IntegerDigits[ImageData[Import@i[], y = "byte"], 2, 8], {2}]~
f~{2, 3, 1},
{3, 1, 2}
],
{2}
]~Image~y


Here are two examples using Rainbolt's avatar:

20 generations using the standard Game of Life [3,23]:

20 generations using [456,34567]:

And here is a GIF of the first 200 generations of the latter rule. The GIF skips every third frame, because I couldn't compress it below 2MB otherwise:

4 added 380 characters in body

## Mathematica, 359

i=InputString;f=Transpose;b=(p=FromDigits/@Characters@#&)@i[];s=p@i[];Map[FromDigits[#,2]&/@#~ArrayReshape~{3,8}&,f[(g=#;{#,Total[g~RotateRight~#&/@Drop[Join@@Table[{i,j},{i,-1,1},{j,-1,1}],{5}],1]}~f~{3,1,2}/.{l_,n_}:>Boole[l<1&&!b~FreeQ~n||l>0&&!s~FreeQ~n])&/@Apply[Join,IntegerDigits[ImageData[Import@i[],y="byte"],2,8],{2}]~f~{2,3,1},{3,1,2}],{2}]~Image~y


I'm taking input from string prompts in the order (1) birth rules, (2) survival rules, (3) file name, and I'm displaying the result right in Mathematica.

This should be able to deal with most popular formats, as long as the file actually has 24-bit depth.

Here is a somewhat ungolfed version:

i = InputString;
f = Transpose;
b = (p = FromDigits /@ Characters@# &)@i[];
s = p@i[];
Map[
FromDigits[#,2] & /@ #~ArrayReshape~{3, 8} &,
f[
(
g = #;
{#,
Total[g~RotateRight~# & /@
Drop[Join @@ Table[{i, j}, {i, -1, 1}, {j, -1, 1}], {5}],
1]}~f~{3, 1, 2} /. {l_, n_} :>
Boole[l < 1 && ! b~FreeQ~n || l > 0 && ! s~FreeQ~n]
) & /@
Apply[Join,
IntegerDigits[ImageData[Import@i[], y = "byte"], 2, 8], {2}]~
f~{2, 3, 1},
{3, 1, 2}
],
{2}
]~Image~y


I'm going hunting for niceHere are two examples now.using Rainbolt's avatar:

20 generations using the standard Game of Life [3,23]:

20 generations using [456,34567]:

## Mathematica, 359

i=InputString;f=Transpose;b=(p=FromDigits/@Characters@#&)@i[];s=p@i[];Map[FromDigits[#,2]&/@#~ArrayReshape~{3,8}&,f[(g=#;{#,Total[g~RotateRight~#&/@Drop[Join@@Table[{i,j},{i,-1,1},{j,-1,1}],{5}],1]}~f~{3,1,2}/.{l_,n_}:>Boole[l<1&&!b~FreeQ~n||l>0&&!s~FreeQ~n])&/@Apply[Join,IntegerDigits[ImageData[Import@i[],y="byte"],2,8],{2}]~f~{2,3,1},{3,1,2}],{2}]~Image~y


I'm taking input from string prompts in the order (1) birth rules, (2) survival rules, (3) file name, and I'm displaying the result right in Mathematica.

This should be able to deal with most popular formats, as long as the file actually has 24-bit depth.

Here is a somewhat ungolfed version:

i = InputString;
f = Transpose;
b = (p = FromDigits /@ Characters@# &)@i[];
s = p@i[];
Map[
FromDigits[#,2] & /@ #~ArrayReshape~{3, 8} &,
f[
(
g = #;
{#,
Total[g~RotateRight~# & /@
Drop[Join @@ Table[{i, j}, {i, -1, 1}, {j, -1, 1}], {5}],
1]}~f~{3, 1, 2} /. {l_, n_} :>
Boole[l < 1 && ! b~FreeQ~n || l > 0 && ! s~FreeQ~n]
) & /@
Apply[Join,
IntegerDigits[ImageData[Import@i[], y = "byte"], 2, 8], {2}]~
f~{2, 3, 1},
{3, 1, 2}
],
{2}
]~Image~y


I'm going hunting for nice examples now.

## Mathematica, 359

i=InputString;f=Transpose;b=(p=FromDigits/@Characters@#&)@i[];s=p@i[];Map[FromDigits[#,2]&/@#~ArrayReshape~{3,8}&,f[(g=#;{#,Total[g~RotateRight~#&/@Drop[Join@@Table[{i,j},{i,-1,1},{j,-1,1}],{5}],1]}~f~{3,1,2}/.{l_,n_}:>Boole[l<1&&!b~FreeQ~n||l>0&&!s~FreeQ~n])&/@Apply[Join,IntegerDigits[ImageData[Import@i[],y="byte"],2,8],{2}]~f~{2,3,1},{3,1,2}],{2}]~Image~y


I'm taking input from string prompts in the order (1) birth rules, (2) survival rules, (3) file name, and I'm displaying the result right in Mathematica.

This should be able to deal with most popular formats, as long as the file actually has 24-bit depth.

Here is a somewhat ungolfed version:

i = InputString;
f = Transpose;
b = (p = FromDigits /@ Characters@# &)@i[];
s = p@i[];
Map[
FromDigits[#,2] & /@ #~ArrayReshape~{3, 8} &,
f[
(
g = #;
{#,
Total[g~RotateRight~# & /@
Drop[Join @@ Table[{i, j}, {i, -1, 1}, {j, -1, 1}], {5}],
1]}~f~{3, 1, 2} /. {l_, n_} :>
Boole[l < 1 && ! b~FreeQ~n || l > 0 && ! s~FreeQ~n]
) & /@
Apply[Join,
IntegerDigits[ImageData[Import@i[], y = "byte"], 2, 8], {2}]~
f~{2, 3, 1},
{3, 1, 2}
],
{2}
]~Image~y


Here are two examples using Rainbolt's avatar:

20 generations using the standard Game of Life [3,23]:

20 generations using [456,34567]:

3 added 26 characters in body
2 added 105 characters in body
1