Drummyfish (also known as *tastyfish*, *drummy*, *drumy*, *smellyfish* and *i forcefeed my diarrhea to capitalism*) is a programmer, [anarchopacifist](anpac.md) and proponent of [free software/culture](free_software.md), who started [this wiki](lrs_wiki.md) and invented the kind of software it focuses on: [less retarded software](lrs.md) (LRS). Besides others he has written [Anarch](anarch.md), [small3dlib](small3dlib.md), [raycastlib](raycastlib.md), [smallchesslib](smallchesslib.md), [tinyphysicsengine](tinyphysicsengine.md), [SAF](saf.md) and [comun](comun.md). He has also been creating free culture art and otherwise contributing to free projects such as [OpenMW](openm.md); he's been contributing with [public domain](pd.md) art of all kind (2D, 3D, music, ...) and writings to [Wikipedia](wikipedia.md), [Wikimedia Commons](wm_commons.md), [opengameart](oga.md), [libregamewiki](lgw.md), freesound and others. Drummyfish is insane/neuroretarded, suffering from anxiety/[depression](depression.md)/etcetc. (diagnosed [avoidant personality disorder](avpd.md)) and has more than once been called a [schizo](schizo.md), though psychiatrists didn't officially diagnose him with schizophrenia (yet). He also has no [real life](irl.md) and is pretty retarded when it comes to leading projects or otherwise dealing with people or practical life. He is a [wizard](wizard.md).
Drummyfish (also known as *tastyfish*, *drummy*, *drumy*, *smellyfish* and *i forcefeed my diarrhea to capitalism*) is a programmer, [anarchopacifist](anpac.md) and proponent of [free software/culture](free_software.md), who started [this wiki](lrs_wiki.md) and invented the kind of software it focuses on: [less retarded software](lrs.md) (LRS). Besides others he has written [Anarch](anarch.md), [small3dlib](small3dlib.md), [raycastlib](raycastlib.md), [smallchesslib](smallchesslib.md), [tinyphysicsengine](tinyphysicsengine.md), [SAF](saf.md) and [comun](comun.md). He has also been creating free culture art and otherwise contributing to free projects such as [OpenMW](openm.md); he's been contributing with [public domain](pd.md) art of all kind (2D, 3D, music, ...) and writings to [Wikipedia](wikipedia.md) (no longer cause ban), [Wikimedia Commons](wm_commons.md) (also banned now), [opengameart](oga.md), [libregamewiki](lgw.md), freesound and others. Drummyfish is insane/neuroretarded, suffering from anxiety/[depression](depression.md)/etcetc. (diagnosed [avoidant personality disorder](avpd.md)) and has more than once been called a [schizo](schizo.md), though psychiatrists didn't officially diagnose him with schizophrenia (yet). Due to spreading uncensored truth, helping and loving others and revealing corruption he is banned and censored on many places on the Internet, including [Wikipedia](wikipedia.md), Wikimedia Commons, [4chan](4chan.md), many [subreddits](reddit.md), some [Xonotic](xonotic.md) and [Openarena](openarena.md) servers etc. He also has no [real life](irl.md) and is pretty retarded when it comes to leading projects or otherwise dealing with people or practical life. He is a [wizard](wizard.md).
**Drummyfish is the most physically disgusting bastard on [Earth](earth.md)**, no woman ever loved him, he is so ugly people get suicidal thoughts from seeing any part of him.
See also https://senseis.xmp.net/?ComputerGoProgramming and https://www.chessprogramming.org/Go.
**Board representation:** a straightforward representation of the go board is as a simple [array](array.md) of squares; each square can be either empty, white or black, that's 3 values that can be stored with 2 bits, which allow storing 4 values, leaving one extra value to be used for some other purpose (e.g. marking illegal ko squares, estimated dead stones, marking last move etc.). 1 byte allows us to store 4 squares this way so we need only 91 bytes to represent the whole 19x19 board. On computers with enough RAM it may be considered to store 1 square in a single byte, making the board take more space but gaining speed (we don't need extra instructions for squeezing bit from/to a byte). Of course we furthermore have to keep track of extra things such as numbers of captured stones.
**Board representation:** a straightforward representation of the go board is as a simple [array](array.md) of squares; each square can be either empty, white or black, that's 3 values that can be stored with 2 bits, which allow storing 4 values, leaving one extra value to be used for some other purpose (e.g. marking illegal ko squares, estimated dead stones, marking last move etc.). 1 byte allows us to store 4 squares this way so we need only 91 bytes to represent the whole 19x19 board. On computers with enough RAM it may be considered to store 1 square in a single byte or int, making the board take more space but gaining speed thanks to data alignment (we don't need extra instructions for squeezing bit from/to a single byte). Of course we furthermore have to keep track of extra things such as numbers of captured stones.