|!Punctuation|!Location|!Function|\n|{{{@@...@@}}}|surrounding text|@@highlighted text@@|\n|{{{//...//}}}|surrounding text|//italicized text//|\n|{{{==...==}}}|surrounding text|==strikethrough text==|\n|{{{''...''}}}|surrounding text|''boldfaced text''|\n|{{{__...__}}}|surrounding text|__underlined text__|\n|{{{[[text|url]]}}}|around text/url pair|[[text|http://gri.gallaudet.edu/]] link to url|\n|{{{ {...} }}}|''__tripled__'' surrounding text|{{{in-line literal text}}}|\n|{{{ {...} }}}|''__tripled__'' surrounding ''__lines__''|literal block|\n|{{{<<<}}}|surrounding ''__lines__''|blockquotes|\n|{{{!}}}|at start of line|subheading|\n|{{{|...|...|}}}|line sectioned by vertical bars|table row|\n|{{{!}}}|in a table|!table heading|\n|{{{----}}}|alone on line|horizontal rule|\n|{{{*}}}|at start of line|bulleted list item|\n|{{{#}}}|at start of line|numbered list item|\nsource: Kevin Cole, January 2007
TTiddlyWiki uses Wiki style markup, a way of lightly "tagging" plain text so it can be transformed into HTML. Edit this Tiddler to see samples.\n\n! Header Samples\n!Header 1\n!!Header 2\n!!!Header 3\n!!!!Header 4\n!!!!!Header 5\n\n! Unordered Lists:\n* Lists are where it's at\n* Just use an asterisk and you're set\n** To nest lists just add more asterisks...\n***...like this\n* The circle makes a great bullet because once you've printed a list you can mark off completed items\n* You can also nest mixed list types\n## Like this\n\n! Ordered Lists\n# Ordered lists are pretty neat too\n# If you're handy with HTML and CSS you could customize the [[numbering scheme|http://www.w3schools.com/css/pr_list-style-type.asp]]\n## To nest, just add more octothorpes (pound signs)...\n### Like this\n* You can also\n** Mix list types\n*** like this\n# Pretty neat don't you think?\n\n! Tiddler links\nTo create a Tiddler link, just use mixed-case WikiWord, or use [[brackets]] for NonWikiWordLinks. This is how the GTD style [[@Action]] lists are created. \n\nNote that existing Tiddlers are in bold and empty Tiddlers are in italics. See CreatingTiddlers for details.\n\n! External Links\nYou can link to [[external sites|http://google.com]] with brackets. You can also LinkToFolders on your machine or network shares.\n\n! Images\nEdit this tiddler to see how it's done.\n[img[http://img110.echo.cx/img110/139/gorilla8nw.jpg]]\n\n!Tables\n|!th1111111111|!th2222222222|\n|>| colspan |\n| rowspan |left|\n|~| right|\n|colored| center |\n|caption|c\n\nFor a complex table example, see PeriodicTable.\n\n! Horizontal Rules\nYou can divide a tiddler into\n----\nsections by typing four dashes on a line by themselves.\n\n! Blockquotes\n<<<\nThis is how you do an extended, wrapped blockquote so you don't have to put angle quotes on every line.\n<<<\n>level 1\n>level 1\n>>level 2\n>>level 2\n>>>level 3\n>>>level 3\n>>level 2\n>level 1\n\n! Other Formatting\n''Bold''\n==Strike==\n__Underline__\n//Italic//\nSuperscript: 2^^3^^=8\nSubscript: a~~ij~~ = -a~~ji~~\n@@highlight@@\n@@color(green):green colored@@\n@@bgcolor(#ff0000):color(#ffffff):red colored@@\n
blockchain
the blockchain game
Type the text for 'New Tiddler'
Type the text for 'New Tiddler'
Type the text for '23 June 2017'\nWill BlockChain be susceptible to the [[OpenStack effect|OpenStackEffect]]\n* [[IBM Blockchain|https://hub.docker.com/r/ibmblockchain/]]\n* [[BlockChain Discussion|https://chat.hyperledger.org/channel/general]]\n* [[BlockChain Academy |http://www.share.org/p/cm/ld/fid=1245]]\n\n! Hyperledger \n* [[Video about BlockChain|https://www.youtube.com/results?search_query=blockchain+explained]]\n\n! Bluemix\n* [[Wikipedia|https://en.wikipedia.org/wiki/Bluemix]]\n\n\n\n
Type the text for '23 June 2017'\n* [[Tic-tac-toe|blockchainttt]]\n* Block Chain Multi User Dungeon & Dragons Game\n* Poker \n
BlockChainGames\nBlockChainSources
\n '23 June 2017'\n\n|!Reference HTML|! Description|\n|[[blockchain.infinite-blue |http://blockchain.infinite-blue.com/index.php/blog/]]||\n|[[Hyperledger-Fabric-Composer-and-Marbles-Lab-Alex-Kim_revised-0622.pdf |http://blockchain.infinite-blue.com/wp-content/uploads/Hyperledger-Fabric-Composer-and-Marbles-Lab-Alex-Kim_revised-0622.pdf]]||\n|[[virtual-servers-quick-start.pdf |https://developer.ibm.com/linuxone/wp-content/uploads/sites/57/virtual-servers-quick-start.pdf]]||\n|[[Linux one register |https://linuxone20.cloud.marist.edu/cloud/#/register]]||\n|[[Building-Docker-Compose |https://github.com/linux-on-ibm-z/docs/wiki/Building-Docker-Compose?cm_mc_uid=81288449110413994410116&cm_mc_sid_50200000=1497929327]]||\n|[[Google search |https://www.google.com/search?client=ubuntu&channel=fs&q=determining+sles+version%27&ie=utf-8&oe=utf-8]]||\n|[[Detect SLES version |https://unix.stackexchange.com/questions/37336/how-to-detect-sles-version]]||\n|[[Test Chain |http://148.100.5.122:7050/chain]]||\n|[[Network Peers |http://148.100.5.122:7050/network/peers]]||\n|[[Profile |http://148.100.5.122:8080/profile]]||
Type the text for '25 June 2017'\n\n! Tic-Tac-Toe in:\n* [[Visual Bash|tttVB]]\n* [[Python|Pyttt]]\n* [[Rexx (Regina)|ReGttt]]\n\nBlock Chain Tic-tac-toe.\n\n
'26 June 2017'\n\n '01 Feb 2018'\n\nI have decided to initially write [[Blockchain Tic-Tac-Toe|vbttt.sh]] in [[Visual Bash|http://docbox.flint.com:8081/visual.bash]]. This code is called [[vbttt.sh]].\nNote that the game is not dependent on blockchain to play, but it is the record of the moves that validates the winner.\n\n!The Game\nThe tic-tac-toe part of the game is essentially separate from the blockchain tracking. The sub-0tasks are comprised of:\n# Initialize game\n# Initialize blockchain\n# Score game\n# Play input
Type the text for '26 June 2017'
Type the text for '26 June 2017'
Type the text for '6 August 2017'\n\n[[Hyperledger|http://hyperledger.org/]]\n[[CouchDB|https://en.wikipedia.org/wiki/CouchDB]]\n[[BCCSP Block chain Crypto Service Provider|https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0ahUKEwi8mOv3o8PVAhVK2SYKHdNpBEQQFggoMAA&url=https%3A%2F%2Fjira.hyperledger.org%2Fsecure%2Fattachment%2F10124%2FBCCSP.pdf&usg=AFQjCNEpdHZnHFx-71F-r7Liz2hwScOIlA]]\n[[hyperledger/composer Information Sites|https://github.com/hyperledger/composer/projects]]\n[[hyperledger/composer Information Issues|https://github.com/hyperledger/composer/issues]]\nBlockchain Composer becomes [[Hyperledger Composer|http://hyperledger.github.io/composer]]\n[[Rocket Chat |http://chat.hyperledger.org]]\n
Type the text for '8 December 2017'\n\n* [[Block Chain Basics|https://www.linkedin.com/learning/blockchain-basics?trk=profileNonSelf_d_flagship3_profile_view_base_learningFeedm017%3Aa001_574704_learning&lipi=urn%3Ali%3Apage%3Ad_flagship3_profile_view_base%3Bi3exfA6uQI6KjPUBer4X3w%3D%3D]]
Type the text for '1 February 2018'\n\n{{{\n\n\n#!/bin/bash\n# pflint 2018-02-01 08:28:51\n#\n# Blockchain Tic Tac Toe\nversion="0.016" # May God have mercy on your soul...\n#\n# This version removes all reference to arrays.\n# http://docbox.flint.com:8081/blockchain#tttVB\n#\n# Initialize game\n# Initialize blockchain\n# Score game\n# Play input\n#\n# NOTE:\n# you do not want to do this using an array, as the "declare"\n#* function help - Help function for template basic help goes here\nfunction help(){\nclear;\n# echo "This is the \s""$FUNCNAME"\s" function in "$0" version "$version; uroot #debug\ncat $0 | grep '^## ' | sed -e 's/##//'\n# echo "This is the help function"\n## *****DOCUMENTATION*****\n## You get this when you put in the wrong number or type of arguments...\n## The name of this program is bcttt.sh, block chain tic-tac-toe.\n## This is released under GPL I\n## The syntax is:\n## - bcttt.sh doit - Demonstration\n## - bcttt.sh register <USER> -\n## registers the uidid & secrets\n## - bcttt.sh ginit - initializes the game\n## - bcttt.sh binit - initializes the blockchain\n## - bcttt.sh ssave [<FILENAME>] - saves the current game to file\n## - bcttt.sh sload [<FILENAME>] - loads the current game to file\n## - bcttt.sh score [<FILENAME>] - scores the game file\n## - bcttt.sh play <USER> - Allows user to input\n## in all of these, Output is delivered to the screen...\n## *** NOTE *** This program need not be run as root!\n##\n## For structure information type "grep '^\s#\s*' bcttt.sh"\n## :^)\n## (C) P Flint, Barre Open Systems Institute Liscensed under GPLI\n##\n} # Test:\n#\n# *****Documentation Loop ends here the rest is function evaluation and dispatch ******\n#\nfunction dummy(){\n#* function dummy - Rename and fill stuff in between braces\necho "This is the \s""$FUNCNAME"\s" function in "$0" version "$version #debug\nuroot\n} # Test:\n#\nfunction ssave(){\n#* function ssave - saves current state of play\necho "This is the \s""$FUNCNAME"\s" function in "$0" version "$version #debug\n# dest="/dev/stdout"\ndest="gstate.csv"\n# echo "printing array"\nfor h in 0 1 2\n do\n for v in 0 1 2\n do\n cell="R"$h"C"$v\n cval=${!cell}\n # echo -n "\s"$cval\s"," > $dest\n out=$out"\s"$cval\s","\n done #v\ndone #h\necho $out | sed 's/,$//g' > $dest\necho "all done"\nspause\n\n} # Test:\n#\n#\nfunction sload(){\n#* function sload - loads saved state of play\necho "This is the \s""$FUNCNAME"\s" function in "$0" version "$version #debug\n# $var2\n# awk 'BEGIN { FS = "," } ; { print $1 }' $var2 |tr -d "\s""\ni=0\nfor h in 0 1 2\n do\n for v in 0 1 2\n do\n cell="R"$h"C"$v\n (( i++ )) #; echo $i\n # cval=${!cell}\n # echo -n "\s"$cval\s"," > $dest\n # out=$out"\s"$cval\s","\n # i=$(($h+$v)); echo $i\n cval=$(awk -v n="$i" 'BEGIN { FS = "," } ; { print $n }' $var2 ) # |tr -d "\s"")\n eval "$cell"=$cval\n echo $cell" is "$cval\n done #v\ndone #h\n# awk 'BEGIN { FS = "," } ; { print $i }' $var2 |tr -d "\s""\necho "all done"\n\nspause\n} # Test:\n#\nfunction shoray(){\n#* function shoray - Displays current state of array\n# I dare you to figure out this indirect reference. http://www.tldp.org/LDP/abs/html/ivr.html\n# echo "printing array"\nfor h in 0 1 2\n do\n for v in 0 1 2\n do\n # echo "R"$h"C"$v" is: "\n cell="R"$h"C"$v\n # echo $cell" is: \s"" ${!cell} "\s""\n cval=${!cell}\n case "$cval" in\n "") echo $cell" is undefined";;\n " ") echo $cell" is \s" \s"";;\n "X") echo $cell" is X" ;;\n "O") echo $cell" is O" ;;\n *) echo $cell" is bad";;\n esac #\n # echo $cell" is: \s"" $cval "\s""\n # if [ "$cval" = "X" ]; then echo "Is X"; fi\n # if [ "$cval" = "Y" ]; then echo "Is Y"; fi\n # if [ "$cval" = " " ]; then echo "Is \s" \s""; fi\n done #v\ndone #h\nspause\necho "This is the \s""$FUNCNAME"\s" function in "$0" version "$version #debug\nuroot\n} # Test:\n#\nfunction register(){\n#* function register <USER> registers the uidid & secrets\necho "This is the \s""$FUNCNAME"\s" function in "$0" version "$version #debug\nif [ $var2 ]; then echo "hey "$var2","; fi\necho "Need to get this running using:"\necho "http://docbox.flint.com:8081/visual.bash#Security%26Sanity"\n} # Test:\n#\nfunction simray(){\n#* function simray - Simple array method\necho "This is the \s""$FUNCNAME"\s" function in "$0" version "$version #debug\nuroot\n#\nR0C0="O"\nR0C1="O"\nR0C2="O"\n#\nR1C0=" "\nR1C1=" "\nR1C2="O"\n#\nR2C0=" "\nR2C1=" "\nR2C2="X"\n#\n} # Test:\n#\n#\nfunction drawg(){\n#* function drawg - Draw game screen using individual variables\necho "This is the \s""$FUNCNAME"\s" function in "$0" version "$version #debug\nclear\necho " Block-Chain Tic-Tac-Toe"\necho " C1 C2 C3 "\necho " ________________________"\necho " | | | |"\necho "R1 | $R0C0 | $R0C1 | $R0C2 |"\necho " |______|_______|_______|"\necho " | | | |"\necho "R2 | $R1C0 | $R1C1 | $R1C2 |"\necho " |______|_______|_______|"\necho " | | | |"\necho "R3 | $R2C0 | $R2C1 | $R2C2 |"\necho " |______|_______|_______|"\necho " Unspeakable Fun For All!"\necho " "\necho " "\n} # Test:\n#\nfunction binit(){\n#* function binit - currently does very little\necho "This is the \s""$FUNCNAME"\s" function in "$0" version "$version #debug\nuroot\n} # Test:\n#\n#\nfunction ginit(){\n#* function ginit - currently does very little\necho "This is the \s""$FUNCNAME"\s" function in "$0" version "$version #debug\nuroot\n} # Test:\n#\n#\nfunction score(){\n#* function score [<FILENAME>] - scores the game file\necho "This is the \s""$FUNCNAME"\s" function in "$0" version "$version #debug\nr="0"\nfor sq in "X" "O"; do\n for c in "0" "1" "2" ; do\n cell="R"$r"C"$c\n # echo $cell" is: \s"" ${!cell} "\s""\n cval=${!cell}\n # echo "player ="$sq", "$cell" = \s""$cval"\s""\n echo -n "player ="$sq", "\n # echo "${!("R"$r"C"$c}")\n # , "${!("R"$r"C"`expr $c + 1`)} "${!("R"$r"C"`expr $c + 2`)}\n # if [ ""R"$r"C"$c" = "$sq" ] && [ ""R"$r"C"`$c`" = "$sq" ] && [ ""R"$r"C"$c" = "$sq" ]; then echo "\s""$sq"\s" is a Winner"; break; else echo "keep playing"; fi\n if [ ""R"$r"C"$c" = "$sq" ] && [ ""R"$r"C"`expr $c + 1`" = "$sq" ] && [ ""R"$r"C"`expr $c + 2`" = "$sq" ]; then echo "\s""$sq"\s" is a Winner"; break; else echo "keep playing"; fi\n done # column\ndone\nspause\n} # Test:\n#\nfunction play(){\n#* function play - play <USER> - Allows user to input\necho "This is the \s""$FUNCNAME"\s" function in "$0" version "$version #debug\n# uroot\n} # Test:\n#\n#\nfunction doit(){\n#* function doit - agregates steps\necho "This is the \s""$FUNCNAME"\s" function in "$0" version "$version #debug\n# uroot\n#\nsimray\n# sload # gstate.csv\ndrawg\nssave\n# shoray\n# score\n#\n} # Test:\n#\n\n#\n######################################STANDARD AND MAYBE USEFUL FUNCTIONS BELOW\n#\n#\n#* function uroot - Checks to see if you are root\nfunction uroot(){\n# echo "Make sure only root can run script"\n# if [ "$(id -u)" = "0" ]; then # if you need to run a function as root\nif [ "$(id -u)" != "0" ]; then\n echo "This script needs to run as root and you are root, good" 1>&2\nelse\n echo "This script does not need to run as root, that OK as you are not root" 1>&2\nfi\n} # Test:~flint/bin/catapo.sh uroot\n#\n#* function spause - A simple tarry...\nfunction spause(){\n # -t sets time\n # read -t $pt -p "$*" ans\n read -p "Hit enter to continue..." ans\n echo $ans\n}\n#\n#*###################################### MAIN ENTRY POINT AND COMPOUND CASE\n#\n#* Evaluator Routine\n# Note the evaluator allows for many cases and error checking...\n#d ARGS=$# # carries the number of args into the functions...\n#d echo "Arg# = "$#" \s$1 = "$1" \s$2 = "$2" \s$3 = "$3" \s$ARGS = "$ARGS ;spause\n#\nif [ "$#" -eq "4" ] && [ "$1" = "sets" ]; then ARGS="4"; fi\nif [ "$#" -eq "1" ] && [ "$1" = "doit" ]; then ARGS="1"; fi\nif [ "$#" -eq "2" ] && [ "$1" = "doit" ]; then ARGS="2"; fi\nif [ "$#" -eq "2" ] && [ "$1" = "ssave" ]; then ARGS="2"; fi\nif [ "$#" -eq "2" ] && [ "$1" = "sload" ]; then ARGS="2"; fi\nif [ "$#" -eq "1" ] && [ "$1" = "register" ]; then ARGS="1"; fi\nif [ "$#" -eq "2" ] && [ "$1" = "register" ]; then ARGS="2"; fi\nif [ "$#" -eq "1" ] && [ "$1" = "ginit" ]; then ARGS="1"; fi\nif [ "$#" -eq "1" ] && [ "$1" = "binit" ]; then ARGS="1"; fi\nif [ "$#" -eq "1" ] && [ "$1" = "score" ]; then ARGS="1"; fi\nif [ "$#" -eq "1" ] && [ "$1" = "play" ]; then ARGS="1"; fi\nif [ "$#" -eq "1" ] && [ "$1" = "simray" ]; then ARGS="1"; fi\nif [ "$#" -eq "1" ] && [ "$1" = "drawa" ]; then ARGS="1"; fi\nif [ "$#" -eq "1" ] && [ "$1" = "drawg" ]; then ARGS="1"; fi\nif [ "$#" -eq "1" ] && [ "$1" = "shows" ]; then ARGS="1"; fi\nif [ "$#" -eq "1" ] && [ "$1" = "shoray" ]; then ARGS="1"; fi\nif [ "$#" -eq "1" ] && [ "$1" = "dummy" ]; then ARGS="1"; fi\nif [ "$#" -eq "1" ] && [ "$1" = "uroot" ]; then ARGS="1"; fi\nif [ "$#" -eq "1" ] && [ "$1" = "spause" ]; then ARGS="1"; fi\nif [ "$#" -eq "1" ] && [ "$1" = "help" ]; then ARGS="0"; fi\nif [ "$#" -eq "0" ]; then ARGS="0"; fi\n# this tests the evaluator...\n#d echo "Arg# = "$#" \s$1 = "$1" \s$2 = "$2" \s$3 = "$3" \s$ARGS = "$ARGS ;spause\n#d echo "catapo.sh v"$version" starts" ;spause()\n# typical cases, be careful to make your own...\ncase "$ARGS" in\n "0") clear; "help";; # got nothing, display help and go\n "1") $1 ;; # run the command\n "2") var2=$2; $1 ;; # run the command with an argument\n "3") var3=$3; var2=$2; $1 ;; # run the command with two arguments\n "4") var4=$4; var3=$3; var2=$2; $1 ;; # run the command with three arguments\n "5") prompt=$2; $1 ;; # run the command with a different argument\n "6") time=$3; prompt=$2; $1 ;; # run the command with two different arguments\n "7") defvbl; $1 ;; # run the command and default variables\n "8") var2=$2; $1 ;; # run the command and settle variables\n "9") var3=$3; var2=$2; $1 ;; # run the command and settle variables\n *) clear; "help"; exit 1;; # got nothing, display help and go\nesac # End main loop. To TEST:\n#\n# echo " ";\n#f echo "On "$(date +%F\s %r) $0" version "$version" stops"\n#debug\n#f echo "That's all folks!!"\n#\n#d rm -rf ss # removes super secret data file\n#* restore environment\n#f cd "$S"\n#f echo "ping"\n\n\n\n}}}\n\n
Type the text for '19 February 2018'\n\n[[Jeremy Gardner And Jinglan Wang|https://www.forbes.com/sites/robynshulman/2018/02/16/how-millionaire-jeremy-gardner-built-the-largest-blockchain-education-network-around-the-world/2/#6835e1f154d0]]
Type the text for 'New Tiddler'\n\n{{{\n#!/bin/bash\n# pflint 2018-02-01 08:28:51\n#\n# Blockchain Tic Tac Toe\nversion="0.016" # May God have mercy on your soul...\n# 2018-02-15 14:00:33\n#\n# This version removes all reference to arrays.\n# http://docbox.flint.com:8081/blockchain#tttVB\n#\n# Initialize game\n# Initialize blockchain\n# Score game\n# Play input\n#\n# NOTE:\n# you do not want to do this using an array, as the "declare" function\n# does not yet make sense to me...\n#\n#* function help - Help function for template basic help goes here\nfunction help(){\nclear;\n# echo "This is the \s""$FUNCNAME"\s" function in "$0" version "$version; uroot #debug\ncat $0 | grep '^## ' | sed -e 's/##//'\n# echo "This is the help function"\n## *****DOCUMENTATION*****\n## You get this when you put in the wrong number or type of arguments...\n## The name of this program is bcttt.sh, block chain tic-tac-toe.\n## This is released under GPL I\n## The syntax is:\n## - bcttt.sh register <USER> -\n## registers the uidid & secrets\n## - bcttt.sh ginit - initializes the game\n## - bcttt.sh binit - initializes the blockchain\n## - bcttt.sh ssave [<FILENAME>] - saves the current game to file\n## - bcttt.sh sload [<FILENAME>] - loads the current game to file\n## - bcttt.sh score [<FILENAME>] - scores the game file\n## - bcttt.sh play <USER> - Allows user to input\n## in all of these, Output is delivered to the screen...\n## *** NOTE *** This program need not be run as root!\n##\n## For structure information type "grep '^\s#\s*' bcttt.sh"\n## :^)\n## (C) P Flint, Barre Open Systems Institute Liscensed under GPLI\n##\n} # Test:\n#\n# *****Documentation Loop ends here the rest is function evaluation and dispatch ******\n#\nfunction dummy(){\n#* function dummy - Rename and fill stuff in between braces\necho "This is the \s""$FUNCNAME"\s" function in "$0" version "$version #debug\nuroot\n} # Test:\n#\nfunction ssave(){\n#* function ssave - saves current state of play\necho "This is the \s""$FUNCNAME"\s" function in "$0" version "$version #debug\n# dest="/dev/stdout"\ndest="gstate.csv"\n# echo "printing array"\nfor h in 0 1 2\n do\n for v in 0 1 2\n do\n cell="R"$h"C"$v\n cval=${!cell}\n # echo -n "\s"$cval\s"," > $dest\n out=$out"\s"$cval\s","\n done #v\ndone #h\necho $out | sed 's/,$//g' > $dest\necho "all done"\nspause\n\n} # Test:\n#\n#\nfunction sload(){\n#* function sload - loads saved state of play\necho "This is the \s""$FUNCNAME"\s" function in "$0" version "$version #debug\n# $var2\n# awk 'BEGIN { FS = "," } ; { print $1 }' $var2 |tr -d "\s""\ni=0\nfor h in 0 1 2\n do\n for v in 0 1 2\n do\n cell="R"$h"C"$v\n (( i++ )) #; echo $i\n # cval=${!cell}\n # echo -n "\s"$cval\s"," > $dest\n # out=$out"\s"$cval\s","\n # i=$(($h+$v)); echo $i\n cval=$(awk -v n="$i" 'BEGIN { FS = "," } ; { print $n }' $var2 ) # |tr -d "\s"")\n eval "$cell"=$cval\n # echo $cell" is "$cval\n done #v\ndone #h\n# awk 'BEGIN { FS = "," } ; { print $i }' $var2 |tr -d "\s""\necho "all done loading "$var2\nspause\n} # Test:\n#\nfunction shoray(){\n#* function shoray - Displays current state of array\n# I dare you to figure out this indirect reference. http://www.tldp.org/LDP/abs/html/ivr.html\n# echo "printing array"\necho "This is the \s""$FUNCNAME"\s" function in "$0" version "$version #debug\nfor h in 0 1 2\n do\n for v in 0 1 2\n do\n # echo "R"$h"C"$v" is: "\n cell="R"$h"C"$v\n # echo $cell" is: \s"" ${!cell} "\s""\n cval=${!cell}\n case "$cval" in\n "") echo $cell" is undefined";;\n " ") echo $cell" is \s" \s"";;\n "X") echo $cell" is X" ;;\n "O") echo $cell" is O" ;;\n *) echo $cell" is bad";;\n esac #\n # echo $cell" is: \s"" $cval "\s""\n # if [ "$cval" = "X" ]; then echo "Is X"; fi\n # if [ "$cval" = "Y" ]; then echo "Is Y"; fi\n # if [ "$cval" = " " ]; then echo "Is \s" \s""; fi\n done #v\ndone #h\necho "end of "\s""$FUNCNAME"\s"\nspause\n} # Test:\n#\nfunction register(){\n#* function register <USER> registers the uidid & secrets\necho "This is the \s""$FUNCNAME"\s" function in "$0" version "$version #debug\nif [ $var2 ]; then echo "hey "$var2","; fi\necho "Need to get this running using:"\necho "http://docbox.flint.com:8081/visual.bash#Security%26Sanity"\n} # Test:\n#\nfunction simray(){\n#* function simray - Simple array method\necho "This is the \s""$FUNCNAME"\s" function in "$0" version "$version #debug\nuroot\n#\nR0C0="O"\nR0C1="O"\nR0C2="O"\n#\nR1C0=" "\nR1C1=" "\nR1C2="O"\n#\nR2C0=" "\nR2C1=" "\nR2C2="X"\n#\n} # Test:\n#\n#\nfunction drawg(){\n#* function drawg - Draw game screen using individual variables\necho "This is the \s""$FUNCNAME"\s" function in "$0" version "$version #debug\nclear\necho " Block-Chain Tic-Tac-Toe"\necho " C1 C2 C3 "\necho " ________________________"\necho " | | | |"\necho "R1 | $R0C0 | $R0C1 | $R0C2 |"\necho " |______|_______|_______|"\necho " | | | |"\necho "R2 | $R1C0 | $R1C1 | $R1C2 |"\necho " |______|_______|_______|"\necho " | | | |"\necho "R3 | $R2C0 | $R2C1 | $R2C2 |"\necho " |______|_______|_______|"\necho " Unspeakable Fun For All!"\necho " "\necho " "\n} # Test:\n#\nfunction binit(){\n#* function binit - is a left over initializier for arrays\necho "This is the \s""$FUNCNAME"\s" function in "$0" version "$version #debug\nuroot\n} # Test:\n#\n#\nfunction ginit(){\n#* function ginit - is a left over initializier for arrays\necho "This is the \s""$FUNCNAME"\s" function in "$0" version "$version #debug\nuroot\n} # Test:\n#\n#\nfunction score(){\n#* function score [<FILENAME>] - scores the game file\necho "hello"\necho "This is the \s""$FUNCNAME"\s" function in "$0" version "$version #debug\nr="0"\nfor sq in "X" "O"; do\n for c in "0" "1" "2" ; do\n cell="R"$r"C"$c\n #\n # echo $cell" is: "\s"${!cell}"\s""\n cval=${!cell}\n echo $cell" is: "\s"$cval\s"\n # echo "player ="$sq", "$cell" = \s""$cval"\s""\n echo -n "player ="$sq", "\n # echo "${!("R"$r"C"$c}")\n # , "${!("R"$r"C"`expr $c + 1`)} "${!("R"$r"C"`expr $c + 2`)}\n # if [ ""R"$r"C"$c" = "$sq" ] && [ ""R"$r"C"`$c`" = "$sq" ] && [ ""R"$r"C"$c" = "$sq" ]; then echo "\s""$sq"\s" is a Winner"; break; else echo "keep playing"; fi\n if [ ""R"$r"C"$c" = "$sq" ] && [ ""R"$r"C"`expr $c + 1`" = "$sq" ] && [ ""R"$r"C"`expr $c + 2`" = "$sq" ];\n then\n echo "\s""$sq"\s" is a Winner"; break;\n else\n echo "keep playing"; fi\n done # column\ndone\nspause\n} # Test:\n#\nfunction play(){\n#* function play - play <USER> - Allows user to input\necho "This is the \s""$FUNCNAME"\s" function in "$0" version "$version #debug\n# uroot\n} # Test:\n#\n#\nfunction doit(){\n#* function doit - agregates steps\necho "This is the \s""$FUNCNAME"\s" function in "$0" version "$version #debug\n# uroot\n# simray\nsload # gstate.csv\ndrawg\nshoray\nscore\n# score\n#\n} # Test:\n#\n\n#\n######################################STANDARD AND MAYBE USEFUL FUNCTIONS BELOW\n#\n#\n#* function uroot - Checks to see if you are root\nfunction uroot(){\n# echo "Make sure only root can run script"\n# if [ "$(id -u)" = "0" ]; then # if you need to run a function as root\nif [ "$(id -u)" != "0" ]; then\n echo "This script needs to run as root and you are root, good" 1>&2\nelse\n echo "This script does not need to run as root, that OK as you are not root" 1>&2\nfi\n} # Test:~flint/bin/catapo.sh uroot\n#\n#* function spause - A simple tarry...\nfunction spause(){\n # -t sets time\n # read -t $pt -p "$*" ans\n read -p "Hit enter to continue..." ans\n echo $ans\n}\n#\n#*###################################### MAIN ENTRY POINT AND COMPOUND CASE\n#\n#* Evaluator Routine\n# Note the evaluator allows for many cases and error checking...\n#d ARGS=$# # carries the number of args into the functions...\n#d echo "Arg# = "$#" \s$1 = "$1" \s$2 = "$2" \s$3 = "$3" \s$ARGS = "$ARGS ;spause\n#\nif [ "$#" -eq "4" ] && [ "$1" = "sets" ]; then ARGS="4"; fi\nif [ "$#" -eq "1" ] && [ "$1" = "doit" ]; then ARGS="1"; fi\nif [ "$#" -eq "2" ] && [ "$1" = "doit" ]; then ARGS="2"; fi\nif [ "$#" -eq "2" ] && [ "$1" = "ssave" ]; then ARGS="2"; fi\nif [ "$#" -eq "2" ] && [ "$1" = "sload" ]; then ARGS="2"; fi\nif [ "$#" -eq "1" ] && [ "$1" = "register" ]; then ARGS="1"; fi\nif [ "$#" -eq "2" ] && [ "$1" = "register" ]; then ARGS="2"; fi\nif [ "$#" -eq "1" ] && [ "$1" = "ginit" ]; then ARGS="1"; fi\nif [ "$#" -eq "1" ] && [ "$1" = "binit" ]; then ARGS="1"; fi\nif [ "$#" -eq "1" ] && [ "$1" = "score" ]; then ARGS="1"; fi\nif [ "$#" -eq "1" ] && [ "$1" = "play" ]; then ARGS="1"; fi\nif [ "$#" -eq "1" ] && [ "$1" = "simray" ]; then ARGS="1"; fi\nif [ "$#" -eq "1" ] && [ "$1" = "drawa" ]; then ARGS="1"; fi\nif [ "$#" -eq "1" ] && [ "$1" = "drawg" ]; then ARGS="1"; fi\nif [ "$#" -eq "1" ] && [ "$1" = "shows" ]; then ARGS="1"; fi\nif [ "$#" -eq "1" ] && [ "$1" = "shoray" ]; then ARGS="1"; fi\nif [ "$#" -eq "1" ] && [ "$1" = "dummy" ]; then ARGS="1"; fi\nif [ "$#" -eq "1" ] && [ "$1" = "uroot" ]; then ARGS="1"; fi\nif [ "$#" -eq "1" ] && [ "$1" = "spause" ]; then ARGS="1"; fi\nif [ "$#" -eq "1" ] && [ "$1" = "help" ]; then ARGS="0"; fi\nif [ "$#" -eq "0" ]; then ARGS="0"; fi\n# this tests the evaluator...\n#d echo "Arg# = "$#" \s$1 = "$1" \s$2 = "$2" \s$3 = "$3" \s$ARGS = "$ARGS ;spause\n#d echo "catapo.sh v"$version" starts" ;spause()\n# typical cases, be careful to make your own...\ncase "$ARGS" in\n "0") clear; "help";; # got nothing, display help and go\n "1") $1 ;; # run the command\n "2") var2=$2; $1 ;; # run the command with an argument\n "3") var3=$3; var2=$2; $1 ;; # run the command with two arguments\n "4") var4=$4; var3=$3; var2=$2; $1 ;; # run the command with three arguments\n "5") prompt=$2; $1 ;; # run the command with a different argument\n "6") time=$3; prompt=$2; $1 ;; # run the command with two different arguments\n "7") defvbl; $1 ;; # run the command and default variables\n "8") var2=$2; $1 ;; # run the command and settle variables\n "9") var3=$3; var2=$2; $1 ;; # run the command and settle variables\n *) clear; "help"; exit 1;; # got nothing, display help and go\nesac # End main loop. To TEST:\n#\n# echo " ";\n#f echo "On "$(date +%F\s %r) $0" version "$version" stops"\n#debug\n#f echo "That's all folks!!"\n#\n#d rm -rf ss # removes super secret data file\n#* restore environment\n#f cd "$S"\n#f echo "ping"\n}}}
Type the text for '31 May 2018'\n\n[[Miron Cupperman|https://www.linkedin.com/in/miron/?lipi=urn%3Ali%3Apage%3Ad_flagship3_profile_view_base%3BejqMxR6YSc%2BocMKddacBxw%3D%3D#experience-section]]\n\n[[DAML|http://hub.digitalasset.com/blog/introducing-the-digital-asset-modeling-language-a-powerful-alternative-to-smart-contracts-for-financial-institutions]]