On Wed, Jul 01, 2026 at 06:56:36PM -0400, funkymail via cypherpunks wrote:
> 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

is there truly a solution t--

https://ar.anyone.tech/TM08aR5a3EPnU38GPgNTVHx6zwAS1FH9tqVUh-0CV-g#7gNb36mr1_As-XbxLveVCbGjxSxIMekPXkfxdnzwqcBeqyfBcqgXWMOqTK1NQqSu#1950517
https://ar.anyone.tech/TNwWqDhP4_2WsLeAKl42_vXqK0EZVpMYbahYZiXIw6U
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
  • ... 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