On Wed, Jul 01, 2026 at 06:47:33PM -0400, funkymail via cypherpunks wrote:
> On Fri, Jun 26, 2026 at 11:30:46PM -0400, funkymail via cypherpunks wrote:
> > > > > > > > > > > > > https://ar.anyone.tech/QkHIWrCSy3iXoP_fS-2snSKIdPYBqGHNmPDya89lWHE#QE8jBZoNzMY9kVYQG13A6oMuI7XhK_sR11WTxCAJ1FqzSRctyUo5iAX14G3o541X#1941075
> > > > > > > > > > > > > https://ar.anyone.tech/ExicPTy-13WSydg1y-DHVOPtR8L6IMDMiMc7ZAGt2_Q
> > > > > > > > > > > 
> > > > > > > > > > > > 
> > > > > > > > > > > > class Go:
> > > 
> > > > https://ar.anyone.tech/TR4YX5YIB93wYCr6QEa8x8QTmR8OlexgIBDax4pSF88#1kZvnXfgdcSig3uBZIy_KBN6K3YSV5y_qKu5FPWNEnxR-xyl6gSnlaFdxwM_4r4t#1947193
> > > > https://ar.anyone.tech/Bb-FKg6i6ow-CoAiXBpYFEApMYKKrXjBiPONm5sHJaQ
> > > 
> > > Here is the current state of the simple gogame code:
> > > 
> > > import numpy as np
> > > 
> > > class Go:
> > >     EMPTY = ' '
> > >     BLACK = 'X'
> > >     WHITE = 'O'
> > >     EDGE = '#'
> > >     MARK = '\0'
> > >     NEIGHBORS = np.array([[-1,0],[0,-1],[1,0],[0,1]])
> > >     def __init__(self, size=10):
> > >         self.clear(size)
> > >     @property
> > >     def board(self):
> > >         return self.edged_board[1:-1,1:-1]
> > >     @property
> > >     def size(self):
> > >         return self.board.shape[0]
> > >     def __repr__(self):
> > >         return '\n'.join([' '.join(row) for row in 
> > > self.edged_board.T[::-1]])
> > >     def clear(self, size = None):
> > >         if size is not None:
> > >             self.edged_board = np.full((size+2, size+2), Go.EDGE)
> > >             col_axis_len = min(size, 27)
> > >             row_axis_len = min(size, 9)
> > >             self.edged_board[1:col_axis_len+1,0] = [chr(X) for X in 
> > > np.arange(col_axis_len)+ord('A')]
> > >             self.edged_board[0,1:row_axis_len+1] = [str(Y) for Y in 
> > > np.arange(row_axis_len)+1]
> > >         self.board[:] = Go.EMPTY
> > >         self.turn = Go.BLACK
> > >         self.passes = 0
> > >         self.captures = {Go.BLACK:0, Go.WHITE:0}
> > >     def pass_(self, player):
> > >         if player != self.turn:
> > >             raise ValueError(f"It is {self.turn}'s turn, not {player}'s")
> > >         self.turn = Go.BLACK if player == Go.WHITE else Go.WHITE
> > >         self.passes += 1
> > >     def naive_score_needslock(self):
> > >         unscored_territory = self.board == Go.EMPTY
> > >         #while len
> > >     @staticmethod
> > >     def str2coord(coord : str):
> > >         col = ord(coord[0].upper())
> > >         row = coord[1:]
> > >         if col < ord('A') or col > ord('Z'):
> > >             raise ValueError(f'Column "{col}" not A-Z')
> > >         return np.array([col - ord('A'), int(row) - 1])
> > >     @staticmethod
> > >     def coord2str(col, row = None):
> > >         if row is None:
> > >             col, row = col
> > >         return chr(ord('A') + col) + str(1 + row)
> > >     def move(self, col, row, player):
> > >         if player != self.turn:
> > >             raise ValueError(f"It is {self.turn}'s turn, not {player}'s")
> > >         try:
> > >             if row < 0 or col < 0:
> > >                 raise IndexError()
> > >             if self.board[col, row] != Go.EMPTY:
> > >                 raise ValueError(f"{self.board[col, row]} has already 
> > > moved there.")
> > >         except IndexError:
> > >             raise ValueError(f"{col}, {row} is off the board.")
> > >         captures = []
> > >         self.board[col, row] = player
> > >         self.turn = Go.BLACK if player == Go.WHITE else Go.WHITE
> > >         try:
> > >             for neighbor in Go.NEIGHBORS + 1:
> > >                 colrow = neighbor + [col, row]
> > >                 if self.edged_board[*colrow] == self.turn:
> > >                     members, liberties = 
> > > self.liberties_needslock(*(colrow - 1))
> > >                     if len(liberties) == 0:
> > >                         captures.extend(members)
> > >                         self.board[*members.T] = Go.EMPTY
> > > 
> > >             members, liberties = self.liberties_needslock(col, row)
> > >             if len(liberties) == 0:
> > >                 raise ValueError(f"No liberties for {player}: 
> > > {[self.coord2str(*coord) for coord in members]}.")
> > >         except:
> > >             self.board[col, row] = Go.EMPTY
> > >             self.board[*np.array(captures).T] = self.turn
> > >             self.turn = player
> > >             raise
> > >         self.captures[player] += len(captures)
> > >         self.passes = 0
> > >     def play(self):
> > >         while self.passes < 2:
> > >             self.play1()
> > >     def play1(self):
> > >         print(self)
> > >         move = input(f'{self.turn}: ')
> > >         if move:
> > >             try:
> > >                 self.move(*self.str2coord(move), self.turn)
> > >             except Exception as e:
> > >                 print(type(e),e)
> > >         else:
> > >             self.pass_(self.turn)
> > >     def liberties_needslock(self, col, row):
> > >         colrow = np.array([col, row])
> > >         player = self.board[*colrow]
> > >         members = [colrow]
> > >         liberties = []
> > >         next_index = 0
> > >         try:
> > >             while next_index < len(members):
> > >                 colrow = members[next_index]
> > >                 next_index += 1
> > >                 self.board[*colrow] = Go.MARK
> > >                 neighbor_colrows = Go.NEIGHBORS + colrow[None]
> > >                 neighbors = self.edged_board[*(neighbor_colrows.T + 1)]
> > >                 if player != Go.EMPTY:
> > >                     liberties.extend(neighbor_colrows[neighbors == 
> > > Go.EMPTY])
> > >                 else:
> > >                     liberties.extend(neighbor_colrows[neighbors == 
> > > Go.BLACK or neighbors == Go.WHITE])
> > >                 new_members = neighbor_colrows[neighbors == player]
> > >                 members.extend(new_members)
> > >                 self.board[*new_members.T] = Go.MARK
> > >         finally:
> > >             self.board[*np.array(members).T] = player
> > >             assert (self.edged_board != Go.MARK).all()
> > >         return np.array(members), np.array(liberties)
> > >     def atari_needslock(self, col, row):
> > >         members, liberties = self.liberties_needslock(col, row)
> > >         return len(liberties) == 1
> > > 
> > > if __name__ == '__main__':
> > >     def main():
> > >         go = Go(5)
> > >         go.move(0,0,go.turn)
> > >         go.pass_(go.turn)
> > >         assert(go.board[0,0] == go.turn)
> > >         go.pass_(go.turn)
> > >         go.move(1,0,go.turn)
> > >         go.move(1,1,go.turn)
> > >         go.move(0,1,go.turn)
> > >         assert(go.board[0,0] == Go.EMPTY)
> > >         go.pass_(go.turn)
> > >         go.move(0,0,go.turn)
> > >         go.pass_(go.turn)
> > >         assert(go.board[0,0] == go.turn)
> > >         go.clear()
> > >         go.move(0,0,go.turn)
> > >         go.move(1,1,go.turn)
> > >         go.move(0,1,go.turn)
> > >         go.pass_(go.turn)
> > >         assert(go.board[0,1] == go.turn)
> > >         go.clear()
> > >         import traceback
> > >         while True:
> > >             try:
> > >                 go.move(np.random.randint(go.size),
> > >                         np.random.randint(go.size),
> > >                         go.turn)
> > >             except Exception as e:
> > >                 if "has already moved" in str(e):
> > >                     continue
> > >                 traceback.print_exc()
> > >                 #print(type(e), e, repr(e.__traceback__))
> > >                 go.play1()
> > >                 continue
> > >             print(go)
> > >         go.play()
> > > 
> > >     main()
> > > 
> > > 
> > > https://ar.anyone.tech/avN9UKjg-MuEP6JkPV3-jZ_giKvpalfrMPGg5ejzOmc#solCOXHasYsThT2R-MCJK-qXhMs1n8GfMjKKRUn1f0AlD6Tq1o6PRNJC72TOJ5FC#1947222
> > > https://ar.anyone.tech/mVPpGtZd5jBVzUc44l6MtY48kfQJdMq6o6OCubaR2eU
> > 
> > 7 dimensional checkers.  older star trek had "tri-dimensional chess". i
> > played once this game. there are floating board partitions and rules for
> > moving the pieces between the board partitions -- more like 2.5d
> > uncertain
> > 
> > ahmmmmm
> > 
> > https://ar.anyone.tech/trIB7Z9WE4t7Nf8mXgK6RG2PQoZbzaf6dj3qHmYKKNI#NUmAYW_ulyg0QQu8tMCIYKKTAj5GrngiKK-2VkP5DjZ4k_ZW5Ck3fIRTkY18WTsh#1947263
> > https://ar.anyone.tech/GqtLDIu6YDgzmW84K4NsdPlgAUx7z4vRL2WQDpXq794
> 
> i got stressed today and came online again and talked to chatgpt
> 
> i am trying to try out https://github.com/t8/memoryport which is
> purportedly an AI LLM frontrnd that purportedly provides infinite memory
> using arweave and vectordb (vectordb r--). it takes a l-ng time to build
> on termux and i ran into a build error which chatgpt fixed since i am
> new to rust.
> 
> this is my change to this project:
> diff --git a/Cargo.toml b/Cargo.toml
> index bcef5fe..49ca171 100644
> --- a/Cargo.toml
> +++ b/Cargo.toml
> @@ -77,3 +77,6 @@ metrics-exporter-prometheus = "0.16"
>  uc-arweave = { path = "crates/uc-arweave" }
>  uc-embeddings = { path = "crates/uc-embeddings" }
>  uc-core = { path = "crates/uc-core" }
> +
> +[patch.crates-io]
> +lance-core = { path = "../rust-lance-termux/rust/lance-core" }
> 
> and then i cloned https://github.com/lance-format/lance into
> ../rust-lance-termux with --branch=v0.22.0 and --filter=blob:none and
> did git cherry-pick d74bdb21ce8e6429314c14f40b595fbcc23b2683 to add
> android support to that old;version
> 
> it's still building
> 
> i also asked chatgpt about making tendon wire arms with coin motors and
> it didn't like it and we argued badly. i also learned that there are
> different japanese/chinese go rules and komi is 6.5-7.5 points and it
> sounds like it can be estimated by playing out the game and measuring
> the best play score, but it feeds back changing play if changed, and
> it's genetally bigger for smaller boards so often people just keep it
> the same value (it's only agreed on for 19x19 boards)
> 
> ...
> 
> https://ar.anyone.tech/hYkVZAUtqnbOK_6MT0-REDRqQrNtH9ST1incyKbxrAk#_3vzlk8gEdNDAwmN5B4HB38DlPI5jHGxZtyobdjVTKrNDa0s7PnhT8xA6Yr3LbaV#1950499
> https://ar.anyone.tech/6P20Y47zLvlY70B7iqN_mXz3vgVbzob2jbxT2KbHwCQ

I am very excited to have reversed mynegative progress fixing my broken
harddrive where i then broke the machines i was using to fix it right
before jt worked

I have successfully rebuilt all the packages needed to resume the
harddrive work and passed memory tests on the machines. this took a
long time! but not nearly as long as the whole venture.

it took so long it's confusing it finished. it's quite satisfying. i
spent days going to libraries and spending the day at the library poking
at builds, then continued with other approach

abagaba

slave boss in dunge--

https://ar.anyone.tech/JAE8H7jE9PiHLXZVnxMhkaRAsYirmaj9880pslHn5vk#CmZwS1tB5yoymp54qujvpl507CrSFLRVqX3F-8uYwKXy_EvEb2YRMfaZlI0hZpZz#1950504
https://ar.anyone.tech/fhQ0dj9XvkddfVpYerZv6rnDHDIhhH69tp7hooW3_5k
I am not affiliated with https://ar.anyone.tech .
  • ... funkymail via cypherpunks
  • ... funkymail via cypherpunks
  • ... funkymail via cypherpunks
  • ... funkymail via cypherpunks
  • ... funkymail via cypherpunks
  • ... funkymail via cypherpunks
  • ... funkymail via cypherpunks
  • ... funkymail via cypherpunks
  • ... funkymail via cypherpunks
  • ... funkymail via cypherpunks
  • ... funkymail via cypherpunks
  • ... funkymail via cypherpunks
  • ... Karl Semich via cypherpunks
  • ... Karl Semich via cypherpunks
  • ... Karl Semich via cypherpunks
  • ... Karl Semich via cypherpunks
  • ... Karl Semich via cypherpunks
  • ... Karl Semich via cypherpunks
  • ... Karl Semich via cypherpunks
  • ... Undescribed Horrific Abuse, One Victim & Survivor of Many via cypherpunks

Reply via email to