an Aotearoa poetry journal | ISSN 2744-3248

All Editions

Tarot #07
Tarot #06
Tarot #05
Tarot #04
Tarot #03
Tarot #02
Tarot #01

The Algorithm

Attributes:
	xsize, ysize : horizontal and vertical size of the board
	state : set containing (x,y) coordinates for live cells.

My ex-brother-in-law with Motor Neuron disease first;
we hadn’t spoken in decades so text.
Apologies, sympathy,

etc. Methods:
	display(update_board) -- Display the state of the board on-screen.
	erase() -- clear the entire board
	makeRandom() -- fill the board randomly
							
Nothing. No reply.
I kept forgetting to persist.
Got a new job. Was bad at it. Tried not to be.

Forgot. 	set(x,y) -- set the given cell to Live; doesn’t refresh the screen
	toggle(x,y) -- change the given cell from live to dead, or vice
		versa, and refresh the screen display

We have kids you know...
The phone is ringing.
Then my birth father, newly revealed by DNA testing.
Three cancers: spine, prostate, liver. His other son, my

brother: throat cancer in Australia. def __init__(self, xsize, ysize):
	 “””Create a new LifeBoard instance.

	scr -- curses screen object to use for display
	char -- character used to render live cells (default: ’*’)
	“””
	self.state = set()
	self.xsize, self.ysize = xsize, ysize

Nick, blood clotted and brave, fell, shattering his arm.
Sister Maureen, so gregarious, Holy Spirit-ed: cancer again, incommunicado.
‘I’m quite sick,’ said Wilfie, our two-year-old, pushing Lego around the table.
‘I’m quite sick.’
He’d been unwell three weeks before.
‘You’re not,’ we reply.

Smiling: ‘I’m are!’ 
def is_legal(self, x, y): “Returns true if the x,y coordinates are legal for this board.”
 	return (0 <= x < self.xsize) and (0 <= y < self.ysize)

def set(self, x, y):
	“””Set a cell to the live state.”””
	if not self.is_legal(x, y):
		raise ValueError(“Coordinates {}, {} out of range 0..{}, 0..{}”.format(
			x, y, self.xsize, self.ysize))
 
key = (x, y) self.state.add(key) def makeRandom(self):

“Fill the board with a random pattern”
An ex-colleague takes leave. Brain cancer. Another, 48, two teenagers. The same.
My niece, reminds me one weekend in Tauranga of her ailing father. We drive.
Just outside Rotovegas, where the light is Swarovski, 
he hovers between this, and an abyss.
‘Are you dying?’ asks Wilfie.
The weather pours in,

coughing and spitting. def step(self):
	“Compute one generation, updating the display.”
	d = set()
	for i in range(self.xsize):
		x_range = range( max(0, i-1), min(self.xsize, i+2) )
		for j in range(self.ysize):
			s = 0
			live = ((i,j) in self.state)
			for yp in range( max(0, j-1), min(self.ysize, j+2) ):
				for xp in x_range:
					if (xp, yp) in self.state:
						s += 1

Soon his voice will be silenced forever. My phone again, vibrating; 
I don’t recognise the number. He’s 
recorded a speech for his other daughter’s wedding. She doesn’t have
a boyfriend yet.
Because of my new job I wake early, breath wet. 
Light seeps around the curtains, disrespectful, like 
my colleagues. I fail to synch calendars, eat celery
in the office, promise to try harder,
can never locate
the whiteboard eraser.

		# Subtract the central cell’s value; it doesn’t count.
	s -= live 
	##print(d)
	##print(i, j, s, live)
	if s == 3:
		# Birth
		d.add((i,j))
	elif s == 2 and live: 
		# Survival
		d.add((i,j))
	elif live:
		# Death
		pass
Over breakfast, a friend from the job I’d left says
he visited our mutual friend, the one with brain cancer,
who can now actually no longer speak, the one
whose last text to me ended, ‘...anyway, that’s enough 
mutual admiration for one night.’
The phone again. Number might be spam On Facebook a priest posts a selfie in
hospital gown and mask. “This is not Covid,” he writes.
I remember my ex-colleague. Remember. Go home.
‘I’m quite sick.’# Subtract the central cell’s value; it doesn’t count.
		s -= live 
		##print(d)
		##print(i, j, s, live)
		if s == 3:
			# Birth
			d.add((i,j))
		elif s == 2 and live: 
			# Survival
			d.add((i,j))
		elif live:
			# Death
			pass

The next day: a forwarded email. He died last night. 
The damn phone again, buzzing.
I pick up, shouting, “Hello?
Who is this? Who’s there?”
Down the line, it comes afresh,
that sound. I recall what the old ones said: that
death’s mocking horrible
laughter, when first heard,
resembles children singing. # Subtract the central cell’s value; it doesn’t count.

		s -= live ##print(d)
		##print(i, j, s, live) if s == 3:
		# Birth 		d.add((i,j)) 		elif s == 2 and live: 
		# Survival 		d.add((i,j)) 		elif live:
		# Death 		pass 
self.state = d