Censorship and Marupeke
The temperature is finally increasing, spring is almost here. This means I can start some consciousness expanding projects that I have been putting off due to low ambient temperatures.
I have generously received a Panaeolus cyanescens spore from a supplier and would like to cultivate the psychedelic mushroom here in my home. But this is something I’ll get into in a future article, I’m veering off track.
X was banned in Brazil 😂 and now I have to constantly turn my VPN on and off since some apps like ChatGPT are blocking connections from VPNs. Some warning bells are ringing in my mind as censorship is never the right answer and I’m evaluating if I should start divesting my assets even more.
Perhaps the Brazil risk premium is not worth it in the long run as this place is sometimes difficult to take seriously with all the political nonsense.
The ban actually includes fines of around 9000 USD per day for people that continue to use the platform via VPN and VPN apps were also banned initially but that has since been retracted. This is some pretty egregious overreach and serious cause for concern.
If you’d like to follow me on a decentralized platform my nostr public key is npub1khea9pu0h2d68d3z0whvjuytpuwhnpe6jglllz5ecgaadp4054rqwr8lzm.
Marupeke bug squashing
Back to my little puzzle project. It took me some hours to refactor the code to generate valid puzzles but I believe it’s working for grid sizes with a minimum of 5 rows and 5 columns. Let’s build a binary and generate some 5 x 5 grids.
cargo build --release
And we can now execute the compiled release code by running the marupeke-gen binary.

Let’s recap Marupeke’s constraints and visualize these results as actual puzzles.
Fill in each empty cell of the board with either an X or an O so that no more than two consecutive cells, either horizontally, vertically or diagonally, contain the same symbol.



The way this works is that we randomly try to place either a cross, circle or block given some pre-defined probabilities but we can always fall back to a block if a cross or circle are impossible to place.
These puzzles aren’t actually playable since they are already completed.
Next steps
We want to transform the completed puzzles into playable puzzles and the way to go about it is to try to strategically remove crosses and circles from the filled board while making sure the puzzle remains solvable with a unique solution. So we need to build a solver algorithm that can complete a puzzle and check for uniqueness.
While the current bugs are mostly behind me, the world outside is a different story. With censorship and bans affecting the digital landscape, it’s hard not to wonder how things will evolve in the coming months. For now I’m focused on solving puzzles and have several ideas bubbling in the back of my subconscious for the next small projects I can work on.