If you hear a voice within you say 'you cannot paint,' then by all means paint, and that voice will be silenced.
– Vincent Van Gogh
Today I decided to take the leap on something I’ve been thinking (and overthinking, to be honest) for a while: I did a live-streaming session over on Twitch and Periscope. I heard yesterday of John Conway passing, and I wanted to do a coding session implementing his “game of life.”
The Game of Life, also known simply as Life, is a cellular automaton devised by the British mathematician John Horton Conway in 1970.
The game is a zero-player game, meaning that its evolution is determined by its initial state, requiring no further input. One interacts with the Game of Life by creating an initial configuration and observing how it evolves. It is Turing complete and can simulate a universal constructor or any other Turing machine.
And this is how it looks like:
So I did a two-hour live-streaming session this afternoon implementing the Game of Life rules with Typescript and then creating a UI with React and ChakraUI to display the game: allowing the user to set up the starting configuration and starting/pausing the game.
It was a ton of fun, and at the same time, very rewarding because I feel like I’ve overcome a self-imposed limitation: anything was an excuse not to start doing a live stream. I didn’t have the right setup. I didn’t know what to do. I don’t have a big enough audience. Maybe no one cares. Maybe I make silly mistakes and everyone will see how big of an imposter I am.
That’s all bullshit.
It turns out that, like anything else in life, I just had to start. Of course there have been mistakes, and the connection dropped two times (or more, maybe I didn’t even notice). But it seems like the people present had a good time, and I’m looking forward to the next session to keep improving and sharing.
I would love to invite you this week to think if there’s something you’ve been waiting to do for a long time and start. Take a step towards that. Check that box off. You can do much more than you realize.
Some links for you
This week I’d love to share with you the live stream I was talking, as well as the final solution over at Github. There’s so much more to do still in terms of refactoring and UI but wanted to leave it like this (at least for now) and share it how it was left on the stream.
If you have any questions, suggestions, or anything I can do to either improve this code, improve the streaming sessions in the future, or content you’d like to see, feel free to reply back to this email! I’d love to hear all your thoughts.