Ecoer Logo
VOTING POWER100.00%
DOWNVOTE POWER100.00%
RESOURCE CREDITS100.00%
REPUTATION PROGRESS21.11%
Net Worth
5.678USD
STEEM
98.768STEEM
SBD
0.001SBD
Own SP
6.233SP

Detailed Balance

STEEM
balance
98.768STEEM
market_balance
0.000STEEM
savings_balance
0.000STEEM
reward_steem_balance
0.000STEEM
STEEM POWER
Own SP
6.233SP
Delegated Out
0.000SP
Delegation In
0.000SP
Effective Power
6.233SP
Reward SP (pending)
0.000SP
SBD
sbd_balance
0.001SBD
sbd_conversions
0.000SBD
sbd_market_balance
0.000SBD
savings_sbd_balance
0.000SBD
reward_sbd_balance
0.000SBD
{
  "balance": "98.768 STEEM",
  "savings_balance": "0.000 STEEM",
  "reward_steem_balance": "0.000 STEEM",
  "vesting_shares": "10149.215928 VESTS",
  "delegated_vesting_shares": "0.000000 VESTS",
  "received_vesting_shares": "0.000000 VESTS",
  "sbd_balance": "0.001 SBD",
  "savings_sbd_balance": "0.000 SBD",
  "reward_sbd_balance": "0.000 SBD",
  "conversions": []
}

Account Info

namederza
id153707
rank197,711
reputation227401443913
created2017-05-09T15:53:48
recovery_accountsteem
proxyNone
post_count31
comment_count0
lifetime_vote_count0
witnesses_voted_for0
last_post2018-10-18T21:43:27
last_root_post2018-10-18T21:43:27
last_vote_time2018-06-22T19:42:57
proxied_vsf_votes0, 0, 0, 0
can_vote1
voting_power9,800
delayed_votes0
balance98.768 STEEM
savings_balance0.000 STEEM
sbd_balance0.001 SBD
savings_sbd_balance0.000 SBD
vesting_shares10149.215928 VESTS
delegated_vesting_shares0.000000 VESTS
received_vesting_shares0.000000 VESTS
reward_vesting_balance0.000000 VESTS
vesting_balance0.000 STEEM
vesting_withdraw_rate0.000000 VESTS
next_vesting_withdrawal1969-12-31T23:59:59
withdrawn185808722369
to_withdraw185808722369
withdraw_routes0
savings_withdraw_requests0
last_account_recovery1970-01-01T00:00:00
reset_accountnull
last_owner_update1970-01-01T00:00:00
last_account_update2018-05-31T21:23:18
minedNo
sbd_seconds0
sbd_last_interest_payment2018-10-18T21:29:30
savings_sbd_last_interest_payment2018-01-16T14:57:45
{
  "id": 153707,
  "name": "derza",
  "owner": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM7W9iLcLZLtNJ4jJYMBRtTQYpA8UEEsmKKgphJcg3WYdPDfFsCr",
        1
      ]
    ]
  },
  "active": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM7PGqFB5jmpBFqvsVoe8X9DF5xuroSQ2GFpZDcnszZQtw9vZ9Tc",
        1
      ]
    ]
  },
  "posting": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM88k6uhKRGhSJv9pL7vK23KGRcnPKB9ov5BgnVev8q9mcXam6ZH",
        1
      ]
    ]
  },
  "memo_key": "STM6A4WVPJcsJzCMnbhEvGAHUPSPhRC8Xmw4ZwkM3U63omG4CuX6M",
  "json_metadata": "{\"profile\":{\"profile_image\":\"https://cdn.steemitimages.com/DQmP35tuFu9K2qWstFe2NyYR5FeRmryCbrHdsxELzhwCYuj/13895430_10154399450443799_3800691358817440023_n.jpg\",\"name\":\"Derza\",\"location\":\"New York City\",\"cover_image\":\"http://yourshot.nationalgeographic.com/u/ss/fQYSUbVfts-T7Ehj8_lPSALDynd8EvLslLdo55vR6NshFhCn83m-ExKI5XoghwTsTj-vNYyAVRQqMkI-lYQ6_6fhIlhUVt-9XG_d76yIqxEfxayoXOjCqtQiFV1l0ZLMvI2eSgu-TbqZx_2jxotgNXaFCGNLEDhj1K_krGyxcjM0HqPh_3UYHVS-UxWL3R05TfvfZa_NvTQlufJv/\"}}",
  "posting_json_metadata": "{\"profile\":{\"profile_image\":\"https://cdn.steemitimages.com/DQmP35tuFu9K2qWstFe2NyYR5FeRmryCbrHdsxELzhwCYuj/13895430_10154399450443799_3800691358817440023_n.jpg\",\"name\":\"Derza\",\"location\":\"New York City\",\"cover_image\":\"http://yourshot.nationalgeographic.com/u/ss/fQYSUbVfts-T7Ehj8_lPSALDynd8EvLslLdo55vR6NshFhCn83m-ExKI5XoghwTsTj-vNYyAVRQqMkI-lYQ6_6fhIlhUVt-9XG_d76yIqxEfxayoXOjCqtQiFV1l0ZLMvI2eSgu-TbqZx_2jxotgNXaFCGNLEDhj1K_krGyxcjM0HqPh_3UYHVS-UxWL3R05TfvfZa_NvTQlufJv/\"}}",
  "proxy": "",
  "last_owner_update": "1970-01-01T00:00:00",
  "last_account_update": "2018-05-31T21:23:18",
  "created": "2017-05-09T15:53:48",
  "mined": false,
  "recovery_account": "steem",
  "last_account_recovery": "1970-01-01T00:00:00",
  "reset_account": "null",
  "comment_count": 0,
  "lifetime_vote_count": 0,
  "post_count": 31,
  "can_vote": true,
  "voting_manabar": {
    "current_mana": 9800,
    "last_update_time": 1529696577
  },
  "downvote_manabar": {
    "current_mana": 0,
    "last_update_time": 1494345228
  },
  "voting_power": 9800,
  "balance": "98.768 STEEM",
  "savings_balance": "0.000 STEEM",
  "sbd_balance": "0.001 SBD",
  "sbd_seconds": "0",
  "sbd_seconds_last_update": "2018-10-18T21:29:30",
  "sbd_last_interest_payment": "2018-10-18T21:29:30",
  "savings_sbd_balance": "0.000 SBD",
  "savings_sbd_seconds": "0",
  "savings_sbd_seconds_last_update": "2018-01-16T14:57:45",
  "savings_sbd_last_interest_payment": "2018-01-16T14:57:45",
  "savings_withdraw_requests": 0,
  "reward_sbd_balance": "0.000 SBD",
  "reward_steem_balance": "0.000 STEEM",
  "reward_vesting_balance": "0.000000 VESTS",
  "reward_vesting_steem": "0.000 STEEM",
  "vesting_shares": "10149.215928 VESTS",
  "delegated_vesting_shares": "0.000000 VESTS",
  "received_vesting_shares": "0.000000 VESTS",
  "vesting_withdraw_rate": "0.000000 VESTS",
  "next_vesting_withdrawal": "1969-12-31T23:59:59",
  "withdrawn": "185808722369",
  "to_withdraw": "185808722369",
  "withdraw_routes": 0,
  "curation_rewards": 16,
  "posting_rewards": 53720,
  "proxied_vsf_votes": [
    0,
    0,
    0,
    0
  ],
  "witnesses_voted_for": 0,
  "last_post": "2018-10-18T21:43:27",
  "last_root_post": "2018-10-18T21:43:27",
  "last_vote_time": "2018-06-22T19:42:57",
  "post_bandwidth": 0,
  "pending_claimed_accounts": 0,
  "vesting_balance": "0.000 STEEM",
  "reputation": "227401443913",
  "transfer_history": [],
  "market_history": [],
  "post_history": [],
  "vote_history": [],
  "other_history": [],
  "witness_votes": [],
  "tags_usage": [],
  "guest_bloggers": [],
  "rank": 197711
}

Withdraw Routes

IncomingOutgoing
Empty
Empty
{
  "incoming": [],
  "outgoing": []
}
From Date
To Date
derzareceived 24.719 STEEM from power down installment (28.526 SP)
2021/05/17 23:39:24
deposited24.719 STEEM
from accountderza
to accountderza
withdrawn46452.180590 VESTS
Transaction InfoBlock #53834550/Virtual Operation #8
View Raw JSON Data
{
  "block": 53834550,
  "op": [
    "fill_vesting_withdraw",
    {
      "deposited": "24.719 STEEM",
      "from_account": "derza",
      "to_account": "derza",
      "withdrawn": "46452.180590 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2021-05-17T23:39:24",
  "trx_id": "0000000000000000000000000000000000000000",
  "trx_in_block": 4294967295,
  "virtual_op": 8
}
derzareceived 24.701 STEEM from power down installment (28.526 SP)
2021/05/10 23:39:24
deposited24.701 STEEM
from accountderza
to accountderza
withdrawn46452.180593 VESTS
Transaction InfoBlock #53634760/Virtual Operation #3
View Raw JSON Data
{
  "block": 53634760,
  "op": [
    "fill_vesting_withdraw",
    {
      "deposited": "24.701 STEEM",
      "from_account": "derza",
      "to_account": "derza",
      "withdrawn": "46452.180593 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2021-05-10T23:39:24",
  "trx_id": "0000000000000000000000000000000000000000",
  "trx_in_block": 4294967295,
  "virtual_op": 3
}
derzareceived 24.683 STEEM from power down installment (28.526 SP)
2021/05/03 23:39:24
deposited24.683 STEEM
from accountderza
to accountderza
withdrawn46452.180593 VESTS
Transaction InfoBlock #53434808/Virtual Operation #2
View Raw JSON Data
{
  "block": 53434808,
  "op": [
    "fill_vesting_withdraw",
    {
      "deposited": "24.683 STEEM",
      "from_account": "derza",
      "to_account": "derza",
      "withdrawn": "46452.180593 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2021-05-03T23:39:24",
  "trx_id": "0000000000000000000000000000000000000000",
  "trx_in_block": 4294967295,
  "virtual_op": 2
}
derzareceived 24.665 STEEM from power down installment (28.526 SP)
2021/04/26 23:39:27
deposited24.665 STEEM
from accountderza
to accountderza
withdrawn46452.180593 VESTS
Transaction InfoBlock #53234995/Virtual Operation #3
View Raw JSON Data
{
  "block": 53234995,
  "op": [
    "fill_vesting_withdraw",
    {
      "deposited": "24.665 STEEM",
      "from_account": "derza",
      "to_account": "derza",
      "withdrawn": "46452.180593 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2021-04-26T23:39:27",
  "trx_id": "0000000000000000000000000000000000000000",
  "trx_in_block": 4294967295,
  "virtual_op": 3
}
derzastarted power down of 114.104 SP
2021/04/19 23:39:24
accountderza
vesting shares185808.722369 VESTS
Transaction InfoBlock #53035371/Trx b0bfa632b992ea148196304d510b43ca05eb1209
View Raw JSON Data
{
  "block": 53035371,
  "op": [
    "withdraw_vesting",
    {
      "account": "derza",
      "vesting_shares": "185808.722369 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2021-04-19T23:39:24",
  "trx_id": "b0bfa632b992ea148196304d510b43ca05eb1209",
  "trx_in_block": 14,
  "virtual_op": 0
}
2019/05/09 16:06:30
authorsteemitboard
bodyCongratulations @derza! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@derza/birthday2.png</td><td>Happy Birthday! - You are on the Steem blockchain for 2 years!</td></tr></table> <sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@derza) and compare to others on the [Steem Ranking](http://steemitboard.com/ranking/index.php?name=derza)_</sub> **Do not miss the last post from @steemitboard:** <table><tr><td><a href="https://steemit.com/steemitboard/@steemitboard/steemitboard-witness-update-2019-05"><img src="https://steemitimages.com/64x128/http://i.cubeupload.com/7CiQEO.png"></a></td><td><a href="https://steemit.com/steemitboard/@steemitboard/steemitboard-witness-update-2019-05">SteemitBoard - Witness Update</a></td></tr><tr><td><a href="https://steemit.com/steemmeetupaachen/@steemitboard/steemitboard-to-support-the-german-speaking-community-meetups"><img src="https://steemitimages.com/64x128/https://cdn.steemitimages.com/DQmeoNp9iCaCfd2D6TqnWa3Aky2mU4Fm3xaSmjTM91YoNBS/image.png"></a></td><td><a href="https://steemit.com/steemmeetupaachen/@steemitboard/steemitboard-to-support-the-german-speaking-community-meetups">SteemitBoard to support the german speaking community meetups</a></td></tr></table> ###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!
json metadata{"image":["https://steemitboard.com/img/notify.png"]}
parent authorderza
parent permlinklet-s-build-a-blockchain-for-inventory-mgmt-and-learn-about-how-we-can-fail
permlinksteemitboard-notify-derza-20190509t160629000z
title
Transaction InfoBlock #32760563/Trx 56346e63bfac1a7a90f7615356ddcc78003dd4c1
View Raw JSON Data
{
  "block": 32760563,
  "op": [
    "comment",
    {
      "author": "steemitboard",
      "body": "Congratulations @derza! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@derza/birthday2.png</td><td>Happy Birthday! - You are on the Steem blockchain for 2 years!</td></tr></table>\n\n<sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@derza) and compare to others on the [Steem Ranking](http://steemitboard.com/ranking/index.php?name=derza)_</sub>\n\n\n**Do not miss the last post from @steemitboard:**\n<table><tr><td><a href=\"https://steemit.com/steemitboard/@steemitboard/steemitboard-witness-update-2019-05\"><img src=\"https://steemitimages.com/64x128/http://i.cubeupload.com/7CiQEO.png\"></a></td><td><a href=\"https://steemit.com/steemitboard/@steemitboard/steemitboard-witness-update-2019-05\">SteemitBoard - Witness Update</a></td></tr><tr><td><a href=\"https://steemit.com/steemmeetupaachen/@steemitboard/steemitboard-to-support-the-german-speaking-community-meetups\"><img src=\"https://steemitimages.com/64x128/https://cdn.steemitimages.com/DQmeoNp9iCaCfd2D6TqnWa3Aky2mU4Fm3xaSmjTM91YoNBS/image.png\"></a></td><td><a href=\"https://steemit.com/steemmeetupaachen/@steemitboard/steemitboard-to-support-the-german-speaking-community-meetups\">SteemitBoard to support the german speaking community meetups</a></td></tr></table>\n\n###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!",
      "json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}",
      "parent_author": "derza",
      "parent_permlink": "let-s-build-a-blockchain-for-inventory-mgmt-and-learn-about-how-we-can-fail",
      "permlink": "steemitboard-notify-derza-20190509t160629000z",
      "title": ""
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2019-05-09T16:06:30",
  "trx_id": "56346e63bfac1a7a90f7615356ddcc78003dd4c1",
  "trx_in_block": 7,
  "virtual_op": 0
}
2018/10/18 22:53:12
authorderza
permlinkblockchain-on-a-blind-date-with-supply-chain-management-scm
votersensation
weight10000 (100.00%)
Transaction InfoBlock #26927960/Trx f40c026b83cff9ed35bbda7ddcde2aed2499bd27
View Raw JSON Data
{
  "block": 26927960,
  "op": [
    "vote",
    {
      "author": "derza",
      "permlink": "blockchain-on-a-blind-date-with-supply-chain-management-scm",
      "voter": "sensation",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-10-18T22:53:12",
  "trx_id": "f40c026b83cff9ed35bbda7ddcde2aed2499bd27",
  "trx_in_block": 9,
  "virtual_op": 0
}
2018/10/18 22:52:54
authorderza
permlinklet-s-build-a-blockchain-for-inventory-mgmt-and-learn-about-how-we-can-fail
votersensation
weight10000 (100.00%)
Transaction InfoBlock #26927954/Trx 96d6ba350dda474c9939f3f3925a42f1ad809600
View Raw JSON Data
{
  "block": 26927954,
  "op": [
    "vote",
    {
      "author": "derza",
      "permlink": "let-s-build-a-blockchain-for-inventory-mgmt-and-learn-about-how-we-can-fail",
      "voter": "sensation",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-10-18T22:52:54",
  "trx_id": "96d6ba350dda474c9939f3f3925a42f1ad809600",
  "trx_in_block": 21,
  "virtual_op": 0
}
2018/10/18 21:43:27
authorderza
bodyIn my [previous article](https://steemit.com/blockchain/@derza/blockchain-on-a-blind-date-with-supply-chain-management-scm) I detailed some of the issues with developing a blockchain solution for inventory management. It seems clear to me that “blockchain” buzzword is used today in the same way “internet” and “e-everything” was used in the late 90s — as ‘clickbait’ for investors, a cheap and easy way to drive up share price with no real long-term value add. What I want to do in this article is to walk through the process of brainstorming a blockchain-like solution for SCM/ISM and to demonstrate why blockchain is such a strange bedfellow in the context of inventory management. https://cdn-images-1.medium.com/max/800/1*IbgPc4g8L8GbplEXMXbhmw.jpeg Let’s start by coming up with a list of desirable features that would make businesses wet their corporate panties over a “blockchain solution” as it applies to inventory/supply-chain management: 1. ***Immutability*** — a double-edged sword, for sure, but seems like a win when you consider that deniability and data loss are even bigger issues. 2. ***Authentication*** — each transaction should be provably authorized (created and signed) by parties who cannot plausibly deny their actions. 3. ***Availability*** — data is stored with each player, increasing robustness of the system and preventing data loss. 4. ***Flexible permissions ***— data should be acted on only by authorized players in the ecosystem. 5. ***Flexible privacy*** — data should be seen only by ‘appropriate’ parties, but hidden from hackers/intruders — aka “bad actors”. 6. ***Flexible consensus ***— some type of mechanism should be present whereby multiple parties can collectively guarantee data validity and ensure that there is no one central point of failure. Notice that the last 3 items are prefixed with “*flexible*” qualifier — the degree of importance of these will likely vary from one implementation to the next, while the first 3 are likely to be universal requirements. OK, so if you are not completely new to designing computer systems, you can immediately see that there is nothing in this list that specifically calls for “blockchain” in order to provide the desired functionality. In fact, one can argue (and I do) that the only reason why something as computationally inefficient and resource-taxing as blockchain is only needed to achieve ***decentralized (aka permissionless) consensus among players who are both pseudonymous and potentially malevolent***. Once the requirement of pseudonymity (or anonymity) is removed, the very reason for blockchain as a preferred data sharing mechanism also falls to the ground. Let’s see how we could develop an alternative solution without the concept of “blocks” or “chain” altogether. Below I present two slides that summarize the mechanics of a potential solution for an SCM/ISM system. The first one deals with transactions that supply identity management of the players and their respective permissions in the system. The last one deals with the actual transactions that model inventory movements. ### Pic.1 — Establishing the Players ![Web of Transactions.png](https://cdn.steemitimages.com/DQmSXff1RessLRJzhNiYQUazX7aw6YqEnWqVWYBHZ7BJoJY/Web%20of%20Transactions.png) > Pic.1 Imagine a consortium like Walmart and its vendors coming together to form an “ecosystem”. Well, first things first — they would want to establish a baseline of trust among the players — “who is who”. This is very easily done with a ‘Web-of-Trust’ type of setup, similar to certificate chains in a browser that establish trust of each signer. If you look at the top of your browser window, you will most likely see a green lock next to the medium.com URL. How do you know you are in fact on medium.com website and not on some spurious site that just claims to be medium.com through some clever manipulation of DNS entries? Well, because the medium.com that is authentic has a certificate that has been verified and signed by DigiCert Inc — a top-level authority that is included by default in your browser. The validity of DigiCert’s signature is easily verifiable by your browser — hence the green lock. ![lock.png](https://cdn.steemitimages.com/DQmZ4bUNNRWh9Me8XmpQvAWQediaciWeKvK6muX69BAETKo/lock.png) > Pic.2 A pretty much identical setup can provide strong guarantees for a distributed system we are trying to build. All you you need is one “root” transaction that establishes the absolute trustworthy actor (a “DigiCert”) — let’s say Walmart, and then everyone else is verified either by that root account, or transitively, by one of the subsequently verified accounts. While I use a familiar term “web of trust”, more precisely in computer terms this is a tree — a graph structure with a single root, a “Genesis” block, if you will, and multiple branches that can be ultimately traced back to it. The certificate path can be enhanced with “permissions” — an initial weight assigned to each player that could determine predefined actions (add another user) or types of transactions that could be created/verified by each participant. As all the parties are initially known to each other or to the central player, there is no need for fancy decentralized consensus — all of this could be decided in a literal consortium-type conference meeting of the stakeholders. Let’s say that only certain parties are allowed to create new transactions, while others are allowed only to append to existing transactions (more on that below). How could you implement a rule like that? Well, you could incorporate it into “consensus rules” — any new transaction must be signed by a party whose public key has a minimum weight of say, 300. If a broadcasted transaction does not meet this requirement it can be immediately discarded instead of being propagated to the rest of the network. A weight of 100 might be required to add branches to the WoT, while a different weight might be needed to add an actual inventory transaction — you get the idea. In addition, transactions, just like TCP/IP packets could have a list of recipients and/or list of allowed players who can append — all of this is magically available because, unlike a real “blockchain in the wild” — in this case, all the players are known at the outset via their identities in the WoT. This mechanism solves items #2 (***authentication***) and #4 (***flexible permissions***). As the copy of the WoT tree can be propagated to each player in a peer-to-peer fashion, this also ensures #3 (***availability***) of this part of the system. What about #1 (***immutability***)? Here one can use a simple scoring system to make sure that history does not get re-written and we do not end up with multiple competing trees. The “true” root will have the largest number of different signers that ultimately derive their identity to it. To illustrate, imagine, that after the setup phase we have 1 root signer and 100 signers that “spring” from that tree. If one of those players were to decide to proclaim himself as root and offer a completely alternative tree, he would literally need to collude with the rest of the network to pull it off. What if one were to come up with 101 fictitious identities? This is where we could use the actual transaction history to weight the signers by the # of verified transactions up to that point. The risk of tree mutability only exists initially when the value of the network is very close to 0 (no or very few transactions). As the history of transactions becomes more established — this risk becomes vanishingly small. However, the risk of transaction history rewriting is real — and is likely to be mitigated by appeal to real-world checks (after all, inventory can be verified independently offline). More trivially, existing tree branches cannot be modified without changing their hashes and invalidating signatures — the same cryptographic mechanism used in the Merkle tree mechanism of most blockchains, thus ensuring that existing rules will stay in place; while, at the same time, allowing more players to be added to the system as long as they are properly validated by extending the path of certifications of trust. Once each player’s identity and permissions are unambiguously established via links of trust and associated public keys (which could be expired and replaced from time to time for increased flexibility), the mechanics of the actual game become relatively straightforward. ### Pic.3 —Playing the Game ![Web of Transactions - 2.png](https://cdn.steemitimages.com/DQmd5Lgmf8JaYFsVzfwxRuQQTMDgjkydFRCKBTypbWPiCLu/Web%20of%20Transactions%20-%202.png) > Pic. 3 What we have in this slide are chains of transactions, where each left-most transaction is marked as transaction 0 (not linked to any parent). All of these can be processed in parallel, unlike the traditional blockchain. If you are familiar with [NANO](https://nano.org/en), it is similar to their block-lattice structure. Anyone with appropriate permissions can start a new “chain” of transactions (“Hey, here is widget X that I just produced!”). Similarly, anyone with appropriate permissions can verify and/or append to the transactions. Anyone can broadcast transactions. The ***immutability*** is once again guaranteed by the hashes and signatures of creator/verifier of each transaction. ***Authentication*** is guaranteed by signatures of the transaction creators and verifiers. ***Availability*** is a bit trickier but is generally not going to be an issue with large enough pool of participants. One of the really exciting things about this system is the potential way to solve the ***privacy*** issue — a transaction can be encrypted with multiple public keys (see [this](https://stackoverflow.com/questions/597188/encryption-with-multiple-different-keys?noredirect=1&lq=1)) at the same time — thus ensuring that multiple parties are able to decrypt it —*** independent of each other and in any order*** (sic!), — and yet to the rest of the world the transaction is effectively hidden, but still verifiable. One can, for instance see how Walmart might want to hide certain information intended for one of its vendors for a particular product from other vendors servicing a different (or related) product. In a related refinement, one could implement addressing — a list of possible or obligate recipients / actors that are specified as part of transaction metadata. The ***permissions*** system we had touched on could be further extended with things like *appendThreshold* which only allows certain players with minimum weight exceeding that to add transactions to a given chain. Transactions could be set to expire (if something is time-sensitive) and they can be appended with a “final” transaction — which means that they could be potentially “pruned”. Moreover, because there is no single “chain” but rather a collection of transaction chains, all participants need not store all of the transactions — just the ones that they are a named party of. The redundancy is still going to be there because multiple copies will be stored — but the overhead will be significantly reduced. How would a verification/validation process work in this system? Let’s say I get a new transaction broadcasted to me. First thing I will do is to look at parentTx — if it is set to 0, I know this is the beginning of a new chain, otherwise — it must be referencing a verified endpoint of an existing transaction chain. Before I do anything else, I calculate the hash of the transaction payload and verify that 1) it matches the txHash in the SIGS section of the message, and 2) the signature of the hash matches what is in the producerSig in the PAYLOAD — the signature corresponding to the public key/userId in WoT ; it is in this step that I can validate that the signer has the appropriate weight to create this type of transaction — either new chain or append-to-chain. In the former case it involves finding the signer in the WoT graph and retrieving his weight and comparing it to the consensus weight for the corresponding action (this could be hard-coded or dynamically determined, like block difficulty in a bitcoin consensus). In the case of appending a transaction, the parent tx needs to be retrieved and its list of allowed actors (“to” array) and threshold weight compared to the signer’s weight. In addition, if the parent tx has an expiration date, it would also be checked. If the transaction passes all the checks, but is not addressed to me as one of the recipients, I simply forward it along to other peers. On the other hand, if it is intended for me, I decrypt it, perform any real-world operations related to validating it and sign it. I can also verify other signers if they are present — verifying that their signature corresponds to their public key and the correct transaction hash and that they are allowed to sign this transaction. In case when my signature is enough to finalize the transaction, I can mark it as verified and forward it along to others. If any of the checks fail — I drop the transaction, and temporarily blacklist the sender. The described system can be summarized via a familiar concept of layers presented in a pic.4 below. ![layers.png](https://cdn.steemitimages.com/DQmSDhzcShAhGNBv7QzUX2WSBHj37TrGTVREsQgWBbt4nUi/layers.png) > Pic.4 Well, that wasn’t so hard, right? So, where is the proverbial Achilles’ heel then? Well, it is the ***consensus*** aspect of the system. While a player cannot forge or change a transaction in this scheme of things, it is quite possible for them to either spam or what is even worse, to withhold transactions. (I will not dwell too much on another consensus issue, namely “re-writing of history”, except to say that in a system where transactions are signed by their creators and verifiers, and the subject matter of transactions can be physically audited — it becomes counterproductive in the long term to engage in faking transactions — because one is essentially incriminating themselves in fraud. In addition, since transactions can be encrypted, how does one fake what is unknown?). Transaction withholding, on the other hand is much trickier to deal with. Spam issue could be solved with some sort of metrics (like if I get too much garbage from you — I can simply disconnect from you as a peer and stop sending you valuable info), but what about ***data withholding***? Sure, once again, I could devise some sort of metric like “information gain” per peer — perhaps a % new info I get from a peer vs. information I have already seen, and could potentially disconnect or throttle down connections based on that. >*One must keep in mind that you cannot prove a negative — if you send me spam, you are unequivocally guilty, but if you ***do not*** send me something — I cannot definitively say whether you were malicious or just statistically >unlucky.* This brings us full circle back to the fundamental problem inherent in these types of “distributed consensus” systems — a misalignment of “network incentives” with “real-world” goods incentives that are completely external to the system. Let’s say I am a vendor in this ecosystem and I get a transaction destined for someone else. I cannot necessarily even read it, I just know it is not for me. Should I forward it to others or should I just drop it? What are my incentives of playing fair? Maybe if I sabotage the network with spam and drop these transactions it will slow down inventory processing of my competitors — this will allow me to gain an advantage and win the next contract in lieu of my competitor. Or, as an alternative strategy, maybe I will be a “good little player” on the network to get some sort of ‘excellence sticker’ for my network reputation score in the hopes of winning a contract with Walmart, which by any other measure of real-world competitiveness I should not get. Even if the network generates some sort of reward for “good players” on the network, it is not clear how that could ever compete with multi-million dollar contracts in real life. Now, at this point it is not yet clear if the parties involved will resort to these types of “games”. Will the benefits outweigh the costs — both in terms of reputation and in terms of operational resources? It depends on the details of the game. It is entirely possible that in this type of ecosystem some type of Nash equilibrium will emerge where the optimal strategy of each player will be to co-operate rather than to sabotage each other. However, it is hard to postulate as a given without knowing all the details of the incentive structure of each player (and how it could dynamically evolve). This is where one really starts to appreciate the genius of the actual blockchain proof-of-work (PoW) system — like the one implemented in Bitcoin. *The incentives for playing fair in the Bitcoin network are rewarded solely by “coins” that are only valuable in terms of that same network*, ***but the punishment exacted on bad actors is in the form of expendable real-world asset — energy***. There is a beautiful symmetry of incentives that is completely not obvious until you attempt to replicate the system in a context that involves ***physical assets and incentives outside the system***. The ensuing amalgamation of misaligned incentives is precisely the reason why these systems are not going to add much value beyond “Look, Ma — we have a ‘blockchain’!” marketing hype. The technology can solve most of the issues related to security of a distributed system — but it cannot solve the fundamental issue of trying to mix oil and water of different incentive structures.
json metadata{"tags":["blockchain","tech","consensus","crypto","inventory"],"image":["https://cdn-images-1.medium.com/max/800/1*IbgPc4g8L8GbplEXMXbhmw.jpeg","https://cdn.steemitimages.com/DQmSXff1RessLRJzhNiYQUazX7aw6YqEnWqVWYBHZ7BJoJY/Web%20of%20Transactions.png","https://cdn.steemitimages.com/DQmZ4bUNNRWh9Me8XmpQvAWQediaciWeKvK6muX69BAETKo/lock.png","https://cdn.steemitimages.com/DQmd5Lgmf8JaYFsVzfwxRuQQTMDgjkydFRCKBTypbWPiCLu/Web%20of%20Transactions%20-%202.png","https://cdn.steemitimages.com/DQmSDhzcShAhGNBv7QzUX2WSBHj37TrGTVREsQgWBbt4nUi/layers.png"],"links":["https://steemit.com/blockchain/@derza/blockchain-on-a-blind-date-with-supply-chain-management-scm","https://nano.org/en","https://stackoverflow.com/questions/597188/encryption-with-multiple-different-keys?noredirect=1&lq=1"],"app":"steemit/0.1","format":"markdown"}
parent author
parent permlinkblockchain
permlinklet-s-build-a-blockchain-for-inventory-mgmt-and-learn-about-how-we-can-fail
titleLet’s Build A “Blockchain” for Inventory Mgmt (...and learn about how we can fail!)
Transaction InfoBlock #26926565/Trx c7b01c4a9da68606c1a8c64e1272184a7791273b
View Raw JSON Data
{
  "block": 26926565,
  "op": [
    "comment",
    {
      "author": "derza",
      "body": "In my [previous article](https://steemit.com/blockchain/@derza/blockchain-on-a-blind-date-with-supply-chain-management-scm) I detailed some of the issues with developing a blockchain solution for inventory management. It seems clear to me that “blockchain” buzzword is used today in the same way “internet” and “e-everything” was used in the late 90s — as ‘clickbait’ for investors, a cheap and easy way to drive up share price with no real long-term value add. What I want to do in this article is to walk through the process of brainstorming a blockchain-like solution for SCM/ISM and to demonstrate why blockchain is such a strange bedfellow in the context of inventory management.\n\nhttps://cdn-images-1.medium.com/max/800/1*IbgPc4g8L8GbplEXMXbhmw.jpeg\n\nLet’s start by coming up with a list of desirable features that would make businesses wet their corporate panties over a “blockchain solution” as it applies to inventory/supply-chain management:\n\n1.   ***Immutability*** — a double-edged sword, for sure, but seems like a win when you consider that deniability and data loss are even bigger issues.\n2.   ***Authentication*** — each transaction should be provably authorized (created and signed) by parties who cannot plausibly deny their actions.\n3.   ***Availability*** — data is stored with each player, increasing robustness of the system and preventing data loss.\n4.    ***Flexible permissions ***— data should be acted on only by authorized players in the ecosystem.\n5.    ***Flexible privacy*** — data should be seen only by ‘appropriate’ parties, but hidden from hackers/intruders — aka “bad actors”.\n6.    ***Flexible consensus ***— some type of mechanism should be present whereby multiple parties can collectively guarantee data validity and ensure that there is no one central point of failure.\n\nNotice that the last 3 items are prefixed with “*flexible*” qualifier — the degree of importance of these will likely vary from one implementation to the next, while the first 3 are likely to be universal requirements.\n\nOK, so if you are not completely new to designing computer systems, you can immediately see that there is nothing in this list that specifically calls for “blockchain” in order to provide the desired functionality. In fact, one can argue (and I do) that the only reason why something as computationally inefficient and resource-taxing as blockchain is only needed to achieve ***decentralized (aka permissionless) consensus among players who are both pseudonymous and potentially malevolent***.\n\nOnce the requirement of pseudonymity (or anonymity) is removed, the very reason for blockchain as a preferred data sharing mechanism also falls to the ground. Let’s see how we could develop an alternative solution without the concept of “blocks” or “chain” altogether.\n\nBelow I present two slides that summarize the mechanics of a potential solution for an SCM/ISM system. The first one deals with transactions that supply identity management of the players and their respective permissions in the system. The last one deals with the actual transactions that model inventory movements.\n\n### Pic.1 — Establishing the Players\n\n\n![Web of Transactions.png](https://cdn.steemitimages.com/DQmSXff1RessLRJzhNiYQUazX7aw6YqEnWqVWYBHZ7BJoJY/Web%20of%20Transactions.png)\n> Pic.1\n\nImagine a consortium like Walmart and its vendors coming together to form an “ecosystem”. Well, first things first — they would want to establish a baseline of trust among the players — “who is who”. This is very easily done with a ‘Web-of-Trust’ type of setup, similar to certificate chains in a browser that establish trust of each signer. If you look at the top of your browser window, you will most likely see a green lock next to the medium.com URL. How do you know you are in fact on medium.com website and not on some spurious site that just claims to be medium.com through some clever manipulation of DNS entries? Well, because the medium.com that is authentic has a certificate that has been verified and signed by DigiCert Inc — a top-level authority that is included by default in your browser. The validity of DigiCert’s signature is easily verifiable by your browser — hence the green lock.\n\n![lock.png](https://cdn.steemitimages.com/DQmZ4bUNNRWh9Me8XmpQvAWQediaciWeKvK6muX69BAETKo/lock.png)\n> Pic.2\n\nA pretty much identical setup can provide strong guarantees for a distributed system we are trying to build. All you you need is one “root” transaction that establishes the absolute trustworthy actor (a “DigiCert”) — let’s say Walmart, and then everyone else is verified either by that root account, or transitively, by one of the subsequently verified accounts.\n\nWhile I use a familiar term “web of trust”, more precisely in computer terms this is a tree — a graph structure with a single root, a “Genesis” block, if you will, and multiple branches that can be ultimately traced back to it.\n\nThe certificate path can be enhanced with “permissions” — an initial weight assigned to each player that could determine predefined actions (add another user) or types of transactions that could be created/verified by each participant. As all the parties are initially known to each other or to the central player, there is no need for fancy decentralized consensus — all of this could be decided in a literal consortium-type conference meeting of the stakeholders. Let’s say that only certain parties are allowed to create new transactions, while others are allowed only to append to existing transactions (more on that below). How could you implement a rule like that? Well, you could incorporate it into “consensus rules” — any new transaction must be signed by a party whose public key has a minimum weight of say, 300. If a broadcasted transaction does not meet this requirement it can be immediately discarded instead of being propagated to the rest of the network. A weight of 100 might be required to add branches to the WoT, while a different weight might be needed to add an actual inventory transaction — you get the idea.\n\nIn addition, transactions, just like TCP/IP packets could have a list of recipients and/or list of allowed players who can append — all of this is magically available because, unlike a real “blockchain in the wild” — in this case, all the players are known at the outset via their identities in the WoT.\n\nThis mechanism solves items #2 (***authentication***) and #4 (***flexible permissions***). As the copy of the WoT tree can be propagated to each player in a peer-to-peer fashion, this also ensures #3 (***availability***) of this part of the system.\n\n\nWhat about #1 (***immutability***)? Here one can use a simple scoring system to make sure that history does not get re-written and we do not end up with multiple competing trees. The “true” root will have the largest number of different signers that ultimately derive their identity to it. To illustrate, imagine, that after the setup phase we have 1 root signer and 100 signers that “spring” from that tree. If one of those players were to decide to proclaim himself as root and offer a completely alternative tree, he would literally need to collude with the rest of the network to pull it off. What if one were to come up with 101 fictitious identities? This is where we could use the actual transaction history to weight the signers by the # of verified transactions up to that point. The risk of tree mutability only exists initially when the value of the network is very close to 0 (no or very few transactions). As the history of transactions becomes more established — this risk becomes vanishingly small. However, the risk of transaction history rewriting is real — and is likely to be mitigated by appeal to real-world checks (after all, inventory can be verified independently offline).\n\nMore trivially, existing tree branches cannot be modified without changing their hashes and invalidating signatures — the same cryptographic mechanism used in the Merkle tree mechanism of most blockchains, thus ensuring that existing rules will stay in place; while, at the same time, allowing more players to be added to the system as long as they are properly validated by extending the path of certifications of trust.\n\nOnce each player’s identity and permissions are unambiguously established via links of trust and associated public keys (which could be expired and replaced from time to time for increased flexibility), the mechanics of the actual game become relatively straightforward.\n\n### Pic.3 —Playing the Game\n\n![Web of Transactions - 2.png](https://cdn.steemitimages.com/DQmd5Lgmf8JaYFsVzfwxRuQQTMDgjkydFRCKBTypbWPiCLu/Web%20of%20Transactions%20-%202.png)\n> Pic. 3\n\nWhat we have in this slide are chains of transactions, where each left-most transaction is marked as transaction 0 (not linked to any parent). All of these can be processed in parallel, unlike the traditional blockchain. If you are familiar with [NANO](https://nano.org/en), it is similar to their block-lattice structure. Anyone with appropriate permissions can start a new “chain” of transactions (“Hey, here is widget X that I just produced!”). Similarly, anyone with appropriate permissions can verify and/or append to the transactions. Anyone can broadcast transactions. The ***immutability*** is once again guaranteed by the hashes and signatures of creator/verifier of each transaction. ***Authentication*** is guaranteed by signatures of the transaction creators and verifiers. ***Availability*** is a bit trickier but is generally not going to be an issue with large enough pool of participants.\n\nOne of the really exciting things about this system is the potential way to solve the ***privacy*** issue — a transaction can be encrypted with multiple public keys (see [this](https://stackoverflow.com/questions/597188/encryption-with-multiple-different-keys?noredirect=1&lq=1)) at the same time — thus ensuring that multiple parties are able to decrypt it —*** independent of each other and in any order*** (sic!), — and yet to the rest of the world the transaction is effectively hidden, but still verifiable. One can, for instance see how Walmart might want to hide certain information intended for one of its vendors for a particular product from other vendors servicing a different (or related) product. In a related refinement, one could implement addressing — a list of possible or obligate recipients / actors that are specified as part of transaction metadata.\n\nThe ***permissions*** system we had touched on could be further extended with things like *appendThreshold* which only allows certain players with minimum weight exceeding that to add transactions to a given chain. Transactions could be set to expire (if something is time-sensitive) and they can be appended with a “final” transaction — which means that they could be potentially “pruned”.\n\nMoreover, because there is no single “chain” but rather a collection of transaction chains, all participants need not store all of the transactions — just the ones that they are a named party of. The redundancy is still going to be there because multiple copies will be stored — but the overhead will be significantly reduced.\n\nHow would a verification/validation process work in this system?\n\nLet’s say I get a new transaction broadcasted to me. First thing I will do is to look at parentTx — if it is set to 0, I know this is the beginning of a new chain, otherwise — it must be referencing a verified endpoint of an existing transaction chain. Before I do anything else, I calculate the hash of the transaction payload and verify that 1) it matches the txHash in the SIGS section of the message, and 2) the signature of the hash matches what is in the producerSig in the PAYLOAD — the signature corresponding to the public key/userId in WoT ; it is in this step that I can validate that the signer has the appropriate weight to create this type of transaction — either new chain or append-to-chain.\n\nIn the former case it involves finding the signer in the WoT graph and retrieving his weight and comparing it to the consensus weight for the corresponding action (this could be hard-coded or dynamically determined, like block difficulty in a bitcoin consensus). In the case of appending a transaction, the parent tx needs to be retrieved and its list of allowed actors (“to” array) and threshold weight compared to the signer’s weight. In addition, if the parent tx has an expiration date, it would also be checked.\n\nIf the transaction passes all the checks, but is not addressed to me as one of the recipients, I simply forward it along to other peers. On the other hand, if it is intended for me, I decrypt it, perform any real-world operations related to validating it and sign it. I can also verify other signers if they are present — verifying that their signature corresponds to their public key and the correct transaction hash and that they are allowed to sign this transaction. In case when my signature is enough to finalize the transaction, I can mark it as verified and forward it along to others.\n\nIf any of the checks fail — I drop the transaction, and temporarily blacklist the sender.\n\nThe described system can be summarized via a familiar concept of layers presented in a pic.4 below.\n\n![layers.png](https://cdn.steemitimages.com/DQmSDhzcShAhGNBv7QzUX2WSBHj37TrGTVREsQgWBbt4nUi/layers.png)\n> Pic.4\n\nWell, that wasn’t so hard, right? So, where is the proverbial Achilles’ heel then?\n\nWell, it is the ***consensus*** aspect of the system. While a player cannot forge or change a transaction in this scheme of things, it is quite possible for them to either spam or what is even worse, to withhold transactions. (I will not dwell too much on another consensus issue, namely “re-writing of history”, except to say that in a system where transactions are signed by their creators and verifiers, and the subject matter of transactions can be physically audited — it becomes counterproductive in the long term to engage in faking transactions — because one is essentially incriminating themselves in fraud. In addition, since transactions can be encrypted, how does one fake what is unknown?).\n\nTransaction withholding, on the other hand is much trickier to deal with. Spam issue could be solved with some sort of metrics (like if I get too much garbage from you — I can simply disconnect from you as a peer and stop sending you valuable info), but what about ***data withholding***? Sure, once again, I could devise some sort of metric like “information gain” per peer — perhaps a % new info I get from a peer vs. information I have already seen, and could potentially disconnect or throttle down connections based on that.\n\n>*One must keep in mind that you cannot prove a negative — if you send me spam, you are unequivocally guilty, but if you ***do not*** send me something — I cannot definitively say whether you were malicious or just statistically >unlucky.*\n\nThis brings us full circle back to the fundamental problem inherent in these types of “distributed consensus” systems — a misalignment of “network incentives” with “real-world” goods incentives that are completely external to the system.\n\nLet’s say I am a vendor in this ecosystem and I get a transaction destined for someone else. I cannot necessarily even read it, I just know it is not for me. Should I forward it to others or should I just drop it? What are my incentives of playing fair? Maybe if I sabotage the network with spam and drop these transactions it will slow down inventory processing of my competitors — this will allow me to gain an advantage and win the next contract in lieu of my competitor.\n\nOr, as an alternative strategy, maybe I will be a “good little player” on the network to get some sort of ‘excellence sticker’ for my network reputation score in the hopes of winning a contract with Walmart, which by any other measure of real-world competitiveness I should not get. Even if the network generates some sort of reward for “good players” on the network, it is not clear how that could ever compete with multi-million dollar contracts in real life.\n\nNow, at this point it is not yet clear if the parties involved will resort to these types of “games”. Will the benefits outweigh the costs — both in terms of reputation and in terms of operational resources? It depends on the details of the game. It is entirely possible that in this type of ecosystem some type of Nash equilibrium will emerge where the optimal strategy of each player will be to co-operate rather than to sabotage each other. However, it is hard to postulate as a given without knowing all the details of the incentive structure of each player (and how it could dynamically evolve).\n\nThis is where one really starts to appreciate the genius of the actual blockchain proof-of-work (PoW) system — like the one implemented in Bitcoin. *The incentives for playing fair in the Bitcoin network are rewarded solely by “coins” that are only valuable in terms of that same network*,  ***but the punishment exacted on bad actors is in the form of expendable real-world asset — energy***. There is a beautiful symmetry of incentives that is completely not obvious until you attempt to replicate the system in a context that involves ***physical assets and incentives outside the system***.\n\nThe ensuing amalgamation of misaligned incentives is precisely the reason why these systems are not going to add much value beyond “Look, Ma — we have a ‘blockchain’!” marketing hype. The technology can solve most of the issues related to security of a distributed system — but it cannot solve the fundamental issue of trying to mix oil and water of different incentive structures.",
      "json_metadata": "{\"tags\":[\"blockchain\",\"tech\",\"consensus\",\"crypto\",\"inventory\"],\"image\":[\"https://cdn-images-1.medium.com/max/800/1*IbgPc4g8L8GbplEXMXbhmw.jpeg\",\"https://cdn.steemitimages.com/DQmSXff1RessLRJzhNiYQUazX7aw6YqEnWqVWYBHZ7BJoJY/Web%20of%20Transactions.png\",\"https://cdn.steemitimages.com/DQmZ4bUNNRWh9Me8XmpQvAWQediaciWeKvK6muX69BAETKo/lock.png\",\"https://cdn.steemitimages.com/DQmd5Lgmf8JaYFsVzfwxRuQQTMDgjkydFRCKBTypbWPiCLu/Web%20of%20Transactions%20-%202.png\",\"https://cdn.steemitimages.com/DQmSDhzcShAhGNBv7QzUX2WSBHj37TrGTVREsQgWBbt4nUi/layers.png\"],\"links\":[\"https://steemit.com/blockchain/@derza/blockchain-on-a-blind-date-with-supply-chain-management-scm\",\"https://nano.org/en\",\"https://stackoverflow.com/questions/597188/encryption-with-multiple-different-keys?noredirect=1&lq=1\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}",
      "parent_author": "",
      "parent_permlink": "blockchain",
      "permlink": "let-s-build-a-blockchain-for-inventory-mgmt-and-learn-about-how-we-can-fail",
      "title": "Let’s Build A “Blockchain” for Inventory Mgmt (...and learn about how we can fail!)"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-10-18T21:43:27",
  "trx_id": "c7b01c4a9da68606c1a8c64e1272184a7791273b",
  "trx_in_block": 12,
  "virtual_op": 0
}
allazsent 0.001 SBD to @derza- "Promote your post. Your post will be min. 10 resteemed with over 13000 followers and min. 25 Upvote Different account (5000 STEEM POWER). Your post will be more popular and you will find new frien..."
2018/10/18 21:29:30
amount0.001 SBD
fromallaz
memoPromote your post. Your post will be min. 10 resteemed with over 13000 followers and min. 25 Upvote Different account (5000 STEEM POWER). Your post will be more popular and you will find new friends. Send 0.5 SBD or STEEM to @allaz ( URL as memo ) Service Active.
toderza
Transaction InfoBlock #26926286/Trx 70eddd1c8365ab63db54fd8361a43e7f0270e886
View Raw JSON Data
{
  "block": 26926286,
  "op": [
    "transfer",
    {
      "amount": "0.001 SBD",
      "from": "allaz",
      "memo": "Promote your post. Your post will be min. 10  resteemed with over 13000  followers and min. 25  Upvote Different account (5000  STEEM POWER). Your post will be more popular and you will find new friends. Send 0.5 SBD or STEEM to @allaz ( URL as memo ) Service Active.",
      "to": "derza"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-10-18T21:29:30",
  "trx_id": "70eddd1c8365ab63db54fd8361a43e7f0270e886",
  "trx_in_block": 28,
  "virtual_op": 0
}
2018/10/18 21:24:15
authorderza
bodyYesterday I finally gave in and went to another crypto [meetup](https://www.meetup.com/BlockchainNYC/events/254352723/) — the allure of the mythical beast — a real- world(!) use case of supply chain management on blockchain — was just too strong to resist. Unfortunately, this turned out to be another case of glitter with vanishingly infinitesimal nuggets of gold — all in a pretty wrapping paper of course. ![mango.jpg](https://cdn.steemitimages.com/DQmeHXQd6rmkBK22yWWdJjeAdSC26N8MQGYmN8sfcLpDs4T/mango.jpg) Delicious mango — now on blockchain! The main star of the show, Tiffany Chen from IBM, skipped the first three or so “What is a blockchain?” slides (thank you for that, at least) and got right to the point — the terrible, terrible plight of a producer — distributor — retailer economic food chain. (You see, these poor suckers are still using outdated technology for tracking movement of goods — paper. They have never heard of barcodes, RFID chips, handheld scanners, — and ERP systems that integrate all of the above into a modern SCM/IMS). The reference to “food chain” is not incidental as IBM is developing something called [“The IBM Food Trust”](https://www.ibm.com/blockchain/solutions/food-trust) (a somewhat Orwellian name that made me think both of the oil barons and ‘The Standard Oil’ ) — a blockchain solution specifically targeting the food-related market. https://www.youtube.com/watch?v=SV0KXBxSoio In any case, we watched a small video about ~~our changing bodies~~ a pilot that was rolled out at Walmart and which enabled them to cut down tracking times for a package of mangoes from [6 days to 2 seconds](https://www.motherjones.com/kevin-drum/2018/05/blockchains-latest-triumph-mango-tracking/) — a claim that was repeated ad infinitum that evening in an obvious attempt to make it into “Yes, we can!” slogan — something that had apparently succeeded a while back given the number of references to it in the cyberspace (DuckDuckGo it). https://cdn-images-1.medium.com/max/800/1*o1M9xMdFhZsomvHZokasKg.jpeg Well, no one can argue with this obvious breakthrough, right? From six days to 2 seconds? That’s progress! But I had a few questions (below), several of which I was able to voice during the meetup. **TLDR:;** I did not get real answers. Among other speakers was Lucas Henning from Citizen Reserve, a blockchain startup that aims to [“make supply chains more efficient, transparent and secure”](https://www.citizensreserve.com/). The best thing since sliced bread and Uber. In reality, when pressed about immutable garbage data, Lucas admitted that blockchains “are complicated” — you know, like TCP/IP, and the businesses don’t understand what they do, and so Citizen Reserve is there to build layers on top of it so that the data could be intelligible for the end-user (that’s close to verbatim for you). So much for transparency. Now, let’s get to the “tough questions”. (Not so tough really, just common sense). https://cdn-images-1.medium.com/max/800/1*nqZ7T0nMnn8MjlaAnqfzmg.jpeg > ***Question #1:*** Why do you think blockchain is the preferred solution for these alleged inefficiencies in SCM? Have you looked at alternative solutions? OK, so some of the companies in this space use outdated technology (although who is to say it is outdated if it actually works? — of course I am going to claim it is outdated if I am trying to sell you some new shining thingamajig and a service contract with IBM price tag, but as Jerry McGuire said, “Show me the money” (ROI)). Anyway, I digress. If the technology is really outdated for the process — OK, digitize it with a freakin’ shared database, — you know the one we invented in the 70s . Problem solved. Period. No complicated “ecosystems” or conflicting standards, no meshes of private blockchains, no immutable “garbage in” problems, no privacy issues — a simple 1970’s database solves this. https://cdn-images-1.medium.com/max/800/1*WCcvobKyfLm3rk2OrjvV4g.jpeg > ***Question #2:*** “Why do we need something that is trustless in the context of SCM?” Blockchain was created to solve one problem — and one problem only — how to transact value without centralized authority and trust. This makes sense if I am transacting with pseudonymous (Bitcoin) or anonymous (Monero, Zcash, etc.) actors — transacting on a one-off, ad-hoc basis. You don’t know who I am or where I am — which is why we need to transact without trust, because I do not have legal recourse in case you run away with my digital money (double spend problem). This is a completely made up problem in the SCM world. Nobody is running anywhere — everyone knows who the counter parties are, there are legal means to enforce SLAs (service level agreements), there is a reputation feedback that is very unforgiving for bad players. There is simply no reason to use blockchain in this context — ***because there is no problem with trust***. Instead of solving trust issues we introduce huge new issues of conflict of interest among parties in a consortium. Someone in the audience raised the question — well, who decides who can join the private blockchain (the consortium)? Is it the current players in the ecosystem? Why would they let a competitor in? What prevents collusion? What about legality of smart contracts (there is none)? Introducing a complex technology into the mix without understanding legal and economic repercussions seems very counter-intuitive to me and frankly, bizarre. An alloy of titanium with pizza. https://cdn-images-1.medium.com/max/800/1*eo-YTDdlDLPVP7RMkjQpFA.jpeg > ***Question #3:*** Do you realize that the problem of reconciling immutable digital record with physical assets is a fundamentally hard (and possibly intractable) problem? Of course the question is not new, and everyone in the space has known about it from the start, but the participants seem to dance around it and tend to shove it under the rug unless pressed. Mitchell Weinberg, the founder of the food fraud detection and prevention firm Inscatech points this out in reference to the supposed “triumph of the mango pilot”: >“Blockchain is fantastic in terms of creating that accounting paper trail that they’re looking for to track the money, but >beyond that — in terms of what’s actually happening to the food and going into it, and as to whether those parties are >really who they say they are, or where they say they are, or what they are — it doesn’t do that, and that’s really the flaw >with it, there’s just no validation of the information that’s being put in. It’s only as good as the person who’s entering > the information.” [source](https://newfoodeconomy.org/blockchain-food-traceability-walmart-ibm/) In an even more hilarious admission Brigid McDermott, IBM’s vice president of food safety, and Frank Yiannas — Walmart’s vice president of food safety, the two ‘safety czars’, hypothesized that ‘ people will police their own behavior out of fear of getting caught’. Really? Why do we need the blockchain then, if you need police on top of it? Even in the cited article, which incidentally was much more honest about the problems than IBM’s advertising spiel at the meetup, it is recognized that these assumptions are laughable. According to Weinberg who deals with fraud (and thus might not be a totally disinterested party), >“The people who are adulterating the food and doing stuff to it, they’re very sophisticated in terms of concealing their >crime. Blockchain’s not going to tell you how that food’s being harvested in the field and what’s going into it and >whether the people collecting it or consolidating it are adding anything to it. There’s no way blockchain is going to tell >you that.” And that is really the key problem — just because you have a record in the blockchain, it says nothing about the tangible state of a physical good associated with that record — it is a problem of oracles that you have to trust, and by the time you solve it, you have made the need for the blockchain itself obsolete. To be fair to Tiffany Chen, she did mention a few problems like RFID chips that got ripped off the product bin or got stuck on the warehouse floor and created a days’ worth of immutable blockchain junk. What was missing is the discussion of how these problems could ever be solved or even mitigated. In reality, one can see how bad of a misalignment this dichotomy of physical vs. digital assets really is. I suggested frozen foods as an example — you simply cannot verify that the food has not spoiled in transit without the old school ‘smell test’, blockchain or no blockchain. Physical tampering, theft and fraud cannot be solved by putting data on the blockchain. End of story. https://cdn-images-1.medium.com/max/800/1*kwuU9W0WPzcujRXs_Ci4Mw.jpeg > ***Question #4:***Who is guarding the guards? In all the excitement of the mango saga, the question that was never addressed was — who is validating these transactions, and more importantly — why? IBM is supposedly using some version of Proof-of-Stake algorithm in its HyperLedger product, but it is not clear how the incentives of transaction verifying are aligned with the inherent conflict of interest of the parties involved — especially in cases where multiple participants might be competing with one another. A PoS system does not have the computational penalty associated with Proof-of-Work systems which prevent a fraudulent player from rewriting history — erasing or adding transactions, computing hashes of the new blocks and sticking them in place of the old ones, thus creating several possible blockchains (forks). When millions of dollars are at stake, this could become a worthwhile exercise. The other obvious questions are — who is guarding the protocol, the consensus for implementing new features, and the rules of admitting new members into the “consortium” — a private blockchain pool. All of these issues which have played out in the public blockchains with quite a bit of drama (Bitcoin and Ethereum being the prime examples) — are surely to create a whole new set of unnecessary headaches for the adopters. https://cdn-images-1.medium.com/max/800/1*62E0-mu43N_yfrO6mgdCnw.jpeg > ***Question #5:*** How do you tackle privacy vs. interoperability dilemma? At the end of the day, a blockchain is only as valuable as the ecosystem that develops around it, especially if one is interested in a holistic picture of distribution and delivery of various products. At the same time, players in this space may not be very keen on sharing details of who they work with, how often, how long their transits take, etc. — all of which are essential trade secrets of each participant in the space. This dichotomy of interests appears to be another one of those “how to eat the cake and have it too” type of problems and it is not clear at this time how it could be solved or whether it is solvable in principle. Currently, the emerging solutions are creating isolated silos of data — vis-à-vis private blockchain consortia — like Walmart and its SCM partners. Even if all of IBM clients are using the same HyperLedger protocols, each consortium’s data is not available outside of the private blockchain implementation — it is carefully walled off (at least in principle) in order to guarantee confidentiality. Of course, various implementations of blockchain technology exacerbate the problem by creating disparate, incompatible formats of immutable data — similar to the browser wars of the early Internet. Unlike the browsers though, which all had to support a common standard — HTML and HTTP, blockchain tech is all over the place with widely different implementations and no common standard in sight. It will be interesting to see how this will play out in the end. ### Conclusion The application of blockchain to solving SCM issues (real or imagined) frankly seems like a rather awkward pas de deux of mismatched tech/business objectives. Watching it from the sidelines reminds seeing an awkward blind date between two obviously mismatched participants. It is not clear to me how the unique properties of blockchain make it a particularly good fit for this space. The frictions created by introducing blockchain tech seem much more profound than the issues it is supposed to solve. While I am skeptical about the proposition “blockchain for SCM” I can see the need for innovation in this sector. What seems like an obvious solution is some type of ***cloud-based append-only shared database with cryptographic signatures***. There is really no need for block-level immutability when you can only add new records — thus the concept of blocks and sequencing of transactions is completely unnecessary. What one needs is ***auditability*** — and than could be solved with ***2-factor authentication and multi-sig PKI signatures*** from actors receiving and transferring goods (those could be IoT devices, robots or people). Once created, a record cannot be forged or even changed after the fact without invalidating record signature which would include the hash of the contents. Thus individual records are trivial to verify — allowing one to track products without requiring peer-to-peer consensus rules or any of the inefficiencies associated with blockchain validation.
json metadata{"tags":["blockchain","supply","chain","ibm","inventory"],"image":["https://cdn.steemitimages.com/DQmeHXQd6rmkBK22yWWdJjeAdSC26N8MQGYmN8sfcLpDs4T/mango.jpg","https://img.youtube.com/vi/SV0KXBxSoio/0.jpg","https://cdn-images-1.medium.com/max/800/1*o1M9xMdFhZsomvHZokasKg.jpeg","https://cdn-images-1.medium.com/max/800/1*nqZ7T0nMnn8MjlaAnqfzmg.jpeg","https://cdn-images-1.medium.com/max/800/1*WCcvobKyfLm3rk2OrjvV4g.jpeg","https://cdn-images-1.medium.com/max/800/1*eo-YTDdlDLPVP7RMkjQpFA.jpeg","https://cdn-images-1.medium.com/max/800/1*kwuU9W0WPzcujRXs_Ci4Mw.jpeg","https://cdn-images-1.medium.com/max/800/1*62E0-mu43N_yfrO6mgdCnw.jpeg"],"links":["https://www.meetup.com/BlockchainNYC/events/254352723/","https://www.ibm.com/blockchain/solutions/food-trust","https://www.youtube.com/watch?v=SV0KXBxSoio","https://www.motherjones.com/kevin-drum/2018/05/blockchains-latest-triumph-mango-tracking/","https://www.citizensreserve.com/","https://newfoodeconomy.org/blockchain-food-traceability-walmart-ibm/"],"app":"steemit/0.1","format":"markdown"}
parent author
parent permlinkblockchain
permlinkblockchain-on-a-blind-date-with-supply-chain-management-scm
titleBlockchain on a blind date with Supply Chain Management (SCM)
Transaction InfoBlock #26926181/Trx 06d5e870c97469e59a165396c13089e68a4b63c5
View Raw JSON Data
{
  "block": 26926181,
  "op": [
    "comment",
    {
      "author": "derza",
      "body": "Yesterday I finally gave in and went to another crypto [meetup](https://www.meetup.com/BlockchainNYC/events/254352723/) — the allure of the mythical beast — a real- world(!) use case of supply chain management on blockchain — was just too strong to resist. Unfortunately, this turned out to be another case of glitter with vanishingly infinitesimal nuggets of gold — all in a pretty wrapping paper of course.\n\n![mango.jpg](https://cdn.steemitimages.com/DQmeHXQd6rmkBK22yWWdJjeAdSC26N8MQGYmN8sfcLpDs4T/mango.jpg)\n Delicious mango — now on blockchain!\n\n\nThe main star of the show, Tiffany Chen from IBM, skipped the first three or so “What is a blockchain?” slides (thank you for that, at least) and got right to the point — the terrible, terrible plight of a producer — distributor — retailer economic food chain. (You see, these poor suckers are still using outdated technology for tracking movement of goods — paper. They have never heard of barcodes, RFID chips, handheld scanners, — and ERP systems that integrate all of the above into a modern SCM/IMS). The reference to “food chain” is not incidental as IBM is developing something called [“The IBM Food Trust”](https://www.ibm.com/blockchain/solutions/food-trust) (a somewhat Orwellian name that made me think both of the oil barons and ‘The Standard Oil’ ) — a blockchain solution specifically targeting the food-related market.\n\nhttps://www.youtube.com/watch?v=SV0KXBxSoio\n\n\nIn any case, we watched a small video about ~~our changing bodies~~ a pilot that was rolled out at Walmart and which enabled them to cut down tracking times for a package of mangoes from [6 days to 2 seconds](https://www.motherjones.com/kevin-drum/2018/05/blockchains-latest-triumph-mango-tracking/) — a claim that was repeated ad infinitum that evening in an obvious attempt to make it into “Yes, we can!” slogan — something that had apparently succeeded a while back given the number of references to it in the cyberspace (DuckDuckGo it).\n\nhttps://cdn-images-1.medium.com/max/800/1*o1M9xMdFhZsomvHZokasKg.jpeg\n\nWell, no one can argue with this obvious breakthrough, right? From six days to 2 seconds? That’s progress! But I had a few questions (below), several of which I was able to voice during the meetup. **TLDR:;** I did not get real answers.\n\n\nAmong other speakers was Lucas Henning from Citizen Reserve, a blockchain startup that aims to [“make supply chains more efficient, transparent and secure”](https://www.citizensreserve.com/). The best thing since sliced bread and Uber. In reality, when pressed about immutable garbage data, Lucas admitted that blockchains “are complicated” — you know, like TCP/IP, and the businesses don’t understand what they do, and so Citizen Reserve is there to build layers on top of it so that the data could be intelligible for the end-user (that’s close to verbatim for you). So much for transparency.\n\nNow, let’s get to the “tough questions”. (Not so tough really, just common sense).\n\nhttps://cdn-images-1.medium.com/max/800/1*nqZ7T0nMnn8MjlaAnqfzmg.jpeg\n\n> ***Question #1:*** Why do you think blockchain is the preferred solution for these alleged inefficiencies in SCM? Have you looked at alternative solutions?\n\nOK, so some of the companies in this space use outdated technology (although who is to say it is outdated if it actually works? — of course I am going to claim it is outdated if I am trying to sell you some new shining thingamajig and a service contract with IBM price tag, but as Jerry McGuire said, “Show me the money” (ROI)). Anyway, I digress. If the technology is really outdated for the process — OK, digitize it with a freakin’ shared database, — you know the one we invented in the 70s . Problem solved. Period. No complicated “ecosystems” or conflicting standards, no meshes of private blockchains, no immutable “garbage in” problems, no privacy issues — a simple 1970’s database solves this.\n\nhttps://cdn-images-1.medium.com/max/800/1*WCcvobKyfLm3rk2OrjvV4g.jpeg\n\n> ***Question #2:***  “Why do we need something that is trustless in the context of SCM?”\n\nBlockchain was created to solve one problem — and one problem only — how to transact value without centralized authority and trust. This makes sense if I am transacting with pseudonymous (Bitcoin) or anonymous (Monero, Zcash, etc.) actors — transacting on a one-off, ad-hoc basis. You don’t know who I am or where I am — which is why we need to transact without trust, because I do not have legal recourse in case you run away with my digital money (double spend problem). This is a completely made up problem in the SCM world. Nobody is running anywhere — everyone knows who the counter parties are, there are legal means to enforce SLAs (service level agreements), there is a reputation feedback that is very unforgiving for bad players. There is simply no reason to use blockchain in this context — ***because there is no problem with trust***.\n\nInstead of solving trust issues we introduce huge new issues of conflict of interest among parties in a consortium. Someone in the audience raised the question — well, who decides who can join the private blockchain (the consortium)? Is it the current players in the ecosystem? Why would they let a competitor in? What prevents collusion? What about legality of smart contracts (there is none)? Introducing a complex technology into the mix without understanding legal and economic repercussions seems very counter-intuitive to me and frankly, bizarre. An alloy of titanium with pizza.\n\nhttps://cdn-images-1.medium.com/max/800/1*eo-YTDdlDLPVP7RMkjQpFA.jpeg\n\n> ***Question #3:*** Do you realize that the problem of reconciling immutable digital record with physical assets is a fundamentally hard (and possibly intractable) problem?\n\nOf course the question is not new, and everyone in the space has known about it from the start, but the participants seem to dance around it and tend to shove it under the rug unless pressed. Mitchell Weinberg, the founder of the food fraud detection and prevention firm Inscatech points this out in reference to the supposed “triumph of the mango pilot”:\n\n>“Blockchain is fantastic in terms of creating that accounting paper trail that they’re looking for to track the money, but >beyond that — in terms of what’s actually happening to the food and going into it, and as to whether those parties are >really who they say they are, or where they say they are, or what they are — it doesn’t do that, and that’s really the flaw  >with it, there’s just no validation of the information that’s being put in. It’s only as good as the person who’s entering \n> the information.” [source](https://newfoodeconomy.org/blockchain-food-traceability-walmart-ibm/)\n\nIn an even more hilarious admission Brigid McDermott, IBM’s vice president of food safety, and Frank Yiannas — Walmart’s vice president of food safety, the two ‘safety czars’, hypothesized that ‘ people will police their own behavior out of fear of getting caught’. Really? Why do we need the blockchain then, if you need police on top of it? Even in the cited article, which incidentally was much more honest about the problems than IBM’s advertising spiel at the meetup, it is recognized that these assumptions are laughable. According to Weinberg who deals with fraud (and thus might not be a totally disinterested party),\n\n>“The people who are adulterating the food and doing stuff to it, they’re very sophisticated in terms of concealing their >crime. Blockchain’s not going to tell you how that food’s being harvested in the field and what’s going into it and >whether the people collecting it or consolidating it are adding anything to it. There’s no way blockchain is going to tell >you that.”\n\nAnd that is really the key problem — just because you have a record in the blockchain, it says nothing about the tangible state of a physical good associated with that record — it is a problem of oracles that you have to trust, and by the time you solve it, you have made the need for the blockchain itself obsolete.\n\nTo be fair to Tiffany Chen, she did mention a few problems like RFID chips that got ripped off the product bin or got stuck on the warehouse floor and created a days’ worth of immutable blockchain junk. What was missing is the discussion of how these problems could ever be solved or even mitigated.\n\nIn reality, one can see how bad of a misalignment this dichotomy of physical vs. digital assets really is. I suggested frozen foods as an example — you simply cannot verify that the food has not spoiled in transit without the old school ‘smell test’, blockchain or no blockchain. Physical tampering, theft and fraud cannot be solved by putting data on the blockchain. End of story.\n\nhttps://cdn-images-1.medium.com/max/800/1*kwuU9W0WPzcujRXs_Ci4Mw.jpeg\n\n> ***Question #4:***Who is guarding the guards?\n\nIn all the excitement of the mango saga, the question that was never addressed was — who is validating these transactions, and more importantly — why? IBM is supposedly using some version of Proof-of-Stake algorithm in its HyperLedger product, but it is not clear how the incentives of transaction verifying are aligned with the inherent conflict of interest of the parties involved — especially in cases where multiple participants might be competing with one another. A PoS system does not have the computational penalty associated with Proof-of-Work systems which prevent a fraudulent player from rewriting history — erasing or adding transactions, computing hashes of the new blocks and sticking them in place of the old ones, thus creating several possible blockchains (forks). When millions of dollars are at stake, this could become a worthwhile exercise. The other obvious questions are — who is guarding the protocol, the consensus for implementing new features, and the rules of admitting new members into the “consortium” — a private blockchain pool. All of these issues which have played out in the public blockchains with quite a bit of drama (Bitcoin and Ethereum being the prime examples) — are surely to create a whole new set of unnecessary headaches for the adopters.\n\nhttps://cdn-images-1.medium.com/max/800/1*62E0-mu43N_yfrO6mgdCnw.jpeg\n\n> ***Question #5:*** How do you tackle privacy vs. interoperability dilemma?\n\nAt the end of the day, a blockchain is only as valuable as the ecosystem that develops around it, especially if one is interested in a holistic picture of distribution and delivery of various products. At the same time, players in this space may not be very keen on sharing details of who they work with, how often, how long their transits take, etc. — all of which are essential trade secrets of each participant in the space. This dichotomy of interests appears to be another one of those “how to eat the cake and have it too” type of problems and it is not clear at this time how it could be solved or whether it is solvable in principle.\n\nCurrently, the emerging solutions are creating isolated silos of data — vis-à-vis private blockchain consortia — like Walmart and its SCM partners. Even if all of IBM clients are using the same HyperLedger protocols, each consortium’s data is not available outside of the private blockchain implementation — it is carefully walled off (at least in principle) in order to guarantee confidentiality. Of course, various implementations of blockchain technology exacerbate the problem by creating disparate, incompatible formats of immutable data — similar to the browser wars of the early Internet. Unlike the browsers though, which all had to support a common standard — HTML and HTTP, blockchain tech is all over the place with widely different implementations and no common standard in sight. It will be interesting to see how this will play out in the end.\n\n### Conclusion\n\nThe application of blockchain to solving SCM issues (real or imagined) frankly seems like a rather awkward pas de deux of mismatched tech/business objectives. Watching it from the sidelines reminds seeing an awkward blind date between two obviously mismatched participants. It is not clear to me how the unique properties of blockchain make it a particularly good fit for this space. The frictions created by introducing blockchain tech seem much more profound than the issues it is supposed to solve.\n\nWhile I am skeptical about the proposition “blockchain for SCM” I can see the need for innovation in this sector. What seems like an obvious solution is some type of ***cloud-based append-only shared database with cryptographic signatures***. There is really no need for block-level immutability when you can only add new records — thus the concept of blocks and sequencing of transactions is completely unnecessary. What one needs is ***auditability*** — and than could be solved with ***2-factor authentication and multi-sig PKI signatures*** from actors receiving and transferring goods (those could be IoT devices, robots or people). Once created, a record cannot be forged or even changed after the fact without invalidating record signature which would include the hash of the contents. Thus individual records are trivial to verify — allowing one to track products without requiring peer-to-peer consensus rules or any of the inefficiencies associated with blockchain validation.",
      "json_metadata": "{\"tags\":[\"blockchain\",\"supply\",\"chain\",\"ibm\",\"inventory\"],\"image\":[\"https://cdn.steemitimages.com/DQmeHXQd6rmkBK22yWWdJjeAdSC26N8MQGYmN8sfcLpDs4T/mango.jpg\",\"https://img.youtube.com/vi/SV0KXBxSoio/0.jpg\",\"https://cdn-images-1.medium.com/max/800/1*o1M9xMdFhZsomvHZokasKg.jpeg\",\"https://cdn-images-1.medium.com/max/800/1*nqZ7T0nMnn8MjlaAnqfzmg.jpeg\",\"https://cdn-images-1.medium.com/max/800/1*WCcvobKyfLm3rk2OrjvV4g.jpeg\",\"https://cdn-images-1.medium.com/max/800/1*eo-YTDdlDLPVP7RMkjQpFA.jpeg\",\"https://cdn-images-1.medium.com/max/800/1*kwuU9W0WPzcujRXs_Ci4Mw.jpeg\",\"https://cdn-images-1.medium.com/max/800/1*62E0-mu43N_yfrO6mgdCnw.jpeg\"],\"links\":[\"https://www.meetup.com/BlockchainNYC/events/254352723/\",\"https://www.ibm.com/blockchain/solutions/food-trust\",\"https://www.youtube.com/watch?v=SV0KXBxSoio\",\"https://www.motherjones.com/kevin-drum/2018/05/blockchains-latest-triumph-mango-tracking/\",\"https://www.citizensreserve.com/\",\"https://newfoodeconomy.org/blockchain-food-traceability-walmart-ibm/\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}",
      "parent_author": "",
      "parent_permlink": "blockchain",
      "permlink": "blockchain-on-a-blind-date-with-supply-chain-management-scm",
      "title": "Blockchain on a blind date with Supply Chain Management (SCM)"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-10-18T21:24:15",
  "trx_id": "06d5e870c97469e59a165396c13089e68a4b63c5",
  "trx_in_block": 0,
  "virtual_op": 0
}
2018/06/22 19:47:30
authorderza
body@@ -282,34 +282,18 @@ ing -from a decapitated soldi +everywh er +e - I @@ -557,24 +557,25 @@ group - the +%22 Bible camp. @@ -572,16 +572,17 @@ ble camp +%22 . It is @@ -641,17 +641,28 @@ ame -old tired + old moralizing ser @@ -738,18 +738,16 @@ the -Bible as a +biblical nar @@ -762,16 +762,24 @@ If ever +Quentin Tarantin @@ -845,19 +845,18 @@ ille%22 - -tha + i t would @@ -894,17 +894,20 @@ ake +* Fargo +* or +* Pulp @@ -914,16 +914,17 @@ Fiction +* or, mor @@ -939,17 +939,21 @@ point, -%22 +*The Game of @@ -959,17 +959,17 @@ Thrones -%22 +* , seem l @@ -1148,16 +1148,26 @@ e in my +cinematic imaginat @@ -1177,24 +1177,55 @@ ? Well, -it would +for starters it would obviously have to be an R @@ -1236,16 +1236,17 @@ ed movie + , which @@ -1251,26 +1251,27 @@ h I -will definitive +hope I will amp ly + demo @@ -1307,14 +1307,8 @@ be -based stri @@ -1312,24 +1312,21 @@ trictly -strictly +based on the @@ -1447,17 +1447,19 @@ d trace -a +the life of @@ -1829,23 +1829,18 @@ es that -would b +ar e sure t
json metadata{"tags":["bible","christianity","violence","religion","culture"],"image":["https://cdn.steemitimages.com/DQmWft3LSFR1rAF9Nu2zHoGLA1UR7ZFZrdKgdv3hptMAVNA/image.png","https://cdn.steemitimages.com/DQmdmjcFFdd59E2mkURRVvsoPYQRBkFzgZ4t3td15C5gHVe/image.png","https://cdn.steemitimages.com/DQmSCyN2RUWqaDJGVArBWFJ1BuofPDGss97CaStR2dVoUyS/image.png","https://cdn.steemitimages.com/DQmX6AVEnGfA1GayXkcyaBgpg8K3bEcWyHKFCKvow2Hqqkm/image.png","https://cdn.steemitimages.com/DQmXhKLjwinTiFwefTWGNDxTfpKWmfzajZ7p3yWnncDnxbQ/image.png","https://cdn.steemitimages.com/DQmc18Hkx53qXVHbt182V3a1NE7KKTXtWSBN27YJLesnGie/image.png","https://cdn.steemitimages.com/DQmcHFT6KpdeNde8Vq8Sm8icivskQZPbTmTMQqMyRPuKdXN/image.png","https://cdn.steemitimages.com/DQmQzjTy8Cev14ZadZgQmNimbnJsW91uEdPgpX9V9FPeeEB/image.png","https://cdn.steemitimages.com/DQmcCDbFcHoWats7Kz6vhsMMwrCn4y39MbBygAafYaoQmnS/image.png","https://cdn.steemitimages.com/DQmQj21tzAPuXCC1s6YhBmMJ9UvxKfVokN5hAkbg86nJwDZ/image.png","https://cdn.steemitimages.com/DQmV5gs7Uec7PfeRzcw5oJnDHKk2bmcD3vXEGBZqNUrSo6V/image.png","https://cdn.steemitimages.com/DQmSK5uDrnQvfNFbSzTZKyUCkcz8vTdKjeuVMYhAVe1YByS/image.png","https://cdn.steemitimages.com/DQmTPJLk1fshmyLpvLDfbDHrP1LwUpgVE2ujF5zHoJknm2C/image.png","https://cdn.steemitimages.com/DQmZh5gE6VYgbKMXJE7spby8p6V29ifGFRrJm3Lxd4t5uNd/image.png","https://cdn.steemitimages.com/DQmPndA51ZdB4iHpMstMz4tP1xELAKj5SjjETtyNXvbHfmA/image.png","https://cdn.steemitimages.com/DQmQZ4y5EYsP8UKEAkQDTameXy2j8MYdi6dVtsJk4XdNCVN/image.png","https://cdn.steemitimages.com/DQmVPFW96XLK4qE36NY5aoyRmr97x8TBZvKXKE4oYHmK9Tp/image.png","https://cdn.steemitimages.com/DQmYeR9jj1QLyrhvAZ2drPiQ7EQox668wCbaJbyZ5aZwtq3/image.png","https://cdn.steemitimages.com/DQmca6RT4YYR92vj5RPMdW464mQevoMF28KCvaAirWTFrqQ/image.png","https://cdn.steemitimages.com/DQmYFkRTJGKbJtGnLNRd985oUyQntYaKRDMveg5BNqe4FEt/image.png","https://cdn.steemitimages.com/DQmedrTgnNXwQibGyKY2U89NVVjrLUV636VmpvVGTemACg3/image.png","https://cdn.steemitimages.com/DQmQTygmpUVjr96LRbTNEq4mRnhcgXenNrfA9emdghFzSt2/image.png","https://cdn.steemitimages.com/DQmRwHpQ5p3jCgH9PhB8QZNc4Nf3NSTc8nZSxzqwLbqnwG4/Brun_Jephthah%27s-Daughter.jpg","https://cdn.steemitimages.com/DQmQvYs1BQrZ2neyPk7Q7MnxZFixjS8Rzqj1dgxq6hWDr61/image.png","https://cdn.steemitimages.com/DQmUnpK8JxNSPrgFkTPinY2cyPfqmLdcRig3K8LjGkVU3Bh/image.png","https://cdn.steemitimages.com/DQmboeBCK7qvXBGEfvgt7U7w8pGFCKvps6mwXpJS85DQ14i/image.png","https://cdn.steemitimages.com/DQmaB2ckg9mqSCREKu3U3bkR36QChXTMzUZ9ruH98jioSWf/image.png","https://cdn.steemitimages.com/DQmSBwRZ2ZuMKRqoDT4FfBjJhDeiPQg5qh6Zjk2vCbviQrG/image.png","https://cdn.steemitimages.com/DQmWKRpNB8Cvupg8wS81USNhNBsXwe3kJWqxdXDrS2E3wCR/image.png","https://cdn.steemitimages.com/DQmePH1ZacB5f6e5Q9jtSnxgAaacAJyAJUXTPHH55EBnG3g/image.png","https://cdn.steemitimages.com/DQmc9KUv7KC24PxWUEUGXsoUudhEgjfXs6hstfiAdiGuaH9/image.png","https://cdn.steemitimages.com/DQmcvmCcjCXM8UW4HN9nPqUJEz1UfhztEghKmFBPQEHfbp3/image.png","https://cdn.steemitimages.com/DQmbWq6yT8iGZsuVrJihDRAs52F3s2cP4MQF2ik4YXBc2w1/image.png"],"app":"steemit/0.1","format":"markdown"}
parent author
parent permlinkbible
permlinkthe-bible-vs-game-of-thrones-one-of-these-is-hardcore
titleThe Bible vs. Game of Thrones - One of These is Hardcore!
Transaction InfoBlock #23553647/Trx 70bca24003f7c522ef3f6cee418b65d01fb0c076
View Raw JSON Data
{
  "block": 23553647,
  "op": [
    "comment",
    {
      "author": "derza",
      "body": "@@ -282,34 +282,18 @@\n ing \n-from a decapitated soldi\n+everywh\n er\n+e\n  - I\n@@ -557,24 +557,25 @@\n group - the \n+%22\n Bible camp. \n@@ -572,16 +572,17 @@\n ble camp\n+%22\n . It is \n@@ -641,17 +641,28 @@\n ame \n-old \n tired\n+ old moralizing\n  ser\n@@ -738,18 +738,16 @@\n the \n-Bible as a\n+biblical\n  nar\n@@ -762,16 +762,24 @@\n If ever \n+Quentin \n Tarantin\n@@ -845,19 +845,18 @@\n ille%22 - \n-tha\n+ i\n t would \n@@ -894,17 +894,20 @@\n ake \n+*\n Fargo\n+*\n  or \n+*\n Pulp\n@@ -914,16 +914,17 @@\n  Fiction\n+*\n  or, mor\n@@ -939,17 +939,21 @@\n  point, \n-%22\n+*The \n Game of \n@@ -959,17 +959,17 @@\n  Thrones\n-%22\n+*\n , seem l\n@@ -1148,16 +1148,26 @@\n e in my \n+cinematic \n imaginat\n@@ -1177,24 +1177,55 @@\n ? Well, \n-it would\n+for starters it would obviously have to\n  be an R\n@@ -1236,16 +1236,17 @@\n ed movie\n+ \n , which \n@@ -1251,26 +1251,27 @@\n h I \n-will definitive\n+hope I will amp\n ly \n+ \n demo\n@@ -1307,14 +1307,8 @@\n  be \n-based \n stri\n@@ -1312,24 +1312,21 @@\n trictly \n-strictly\n+based\n  on the \n@@ -1447,17 +1447,19 @@\n d trace \n-a\n+the\n  life of\n@@ -1829,23 +1829,18 @@\n es that \n-would b\n+ar\n e sure t\n",
      "json_metadata": "{\"tags\":[\"bible\",\"christianity\",\"violence\",\"religion\",\"culture\"],\"image\":[\"https://cdn.steemitimages.com/DQmWft3LSFR1rAF9Nu2zHoGLA1UR7ZFZrdKgdv3hptMAVNA/image.png\",\"https://cdn.steemitimages.com/DQmdmjcFFdd59E2mkURRVvsoPYQRBkFzgZ4t3td15C5gHVe/image.png\",\"https://cdn.steemitimages.com/DQmSCyN2RUWqaDJGVArBWFJ1BuofPDGss97CaStR2dVoUyS/image.png\",\"https://cdn.steemitimages.com/DQmX6AVEnGfA1GayXkcyaBgpg8K3bEcWyHKFCKvow2Hqqkm/image.png\",\"https://cdn.steemitimages.com/DQmXhKLjwinTiFwefTWGNDxTfpKWmfzajZ7p3yWnncDnxbQ/image.png\",\"https://cdn.steemitimages.com/DQmc18Hkx53qXVHbt182V3a1NE7KKTXtWSBN27YJLesnGie/image.png\",\"https://cdn.steemitimages.com/DQmcHFT6KpdeNde8Vq8Sm8icivskQZPbTmTMQqMyRPuKdXN/image.png\",\"https://cdn.steemitimages.com/DQmQzjTy8Cev14ZadZgQmNimbnJsW91uEdPgpX9V9FPeeEB/image.png\",\"https://cdn.steemitimages.com/DQmcCDbFcHoWats7Kz6vhsMMwrCn4y39MbBygAafYaoQmnS/image.png\",\"https://cdn.steemitimages.com/DQmQj21tzAPuXCC1s6YhBmMJ9UvxKfVokN5hAkbg86nJwDZ/image.png\",\"https://cdn.steemitimages.com/DQmV5gs7Uec7PfeRzcw5oJnDHKk2bmcD3vXEGBZqNUrSo6V/image.png\",\"https://cdn.steemitimages.com/DQmSK5uDrnQvfNFbSzTZKyUCkcz8vTdKjeuVMYhAVe1YByS/image.png\",\"https://cdn.steemitimages.com/DQmTPJLk1fshmyLpvLDfbDHrP1LwUpgVE2ujF5zHoJknm2C/image.png\",\"https://cdn.steemitimages.com/DQmZh5gE6VYgbKMXJE7spby8p6V29ifGFRrJm3Lxd4t5uNd/image.png\",\"https://cdn.steemitimages.com/DQmPndA51ZdB4iHpMstMz4tP1xELAKj5SjjETtyNXvbHfmA/image.png\",\"https://cdn.steemitimages.com/DQmQZ4y5EYsP8UKEAkQDTameXy2j8MYdi6dVtsJk4XdNCVN/image.png\",\"https://cdn.steemitimages.com/DQmVPFW96XLK4qE36NY5aoyRmr97x8TBZvKXKE4oYHmK9Tp/image.png\",\"https://cdn.steemitimages.com/DQmYeR9jj1QLyrhvAZ2drPiQ7EQox668wCbaJbyZ5aZwtq3/image.png\",\"https://cdn.steemitimages.com/DQmca6RT4YYR92vj5RPMdW464mQevoMF28KCvaAirWTFrqQ/image.png\",\"https://cdn.steemitimages.com/DQmYFkRTJGKbJtGnLNRd985oUyQntYaKRDMveg5BNqe4FEt/image.png\",\"https://cdn.steemitimages.com/DQmedrTgnNXwQibGyKY2U89NVVjrLUV636VmpvVGTemACg3/image.png\",\"https://cdn.steemitimages.com/DQmQTygmpUVjr96LRbTNEq4mRnhcgXenNrfA9emdghFzSt2/image.png\",\"https://cdn.steemitimages.com/DQmRwHpQ5p3jCgH9PhB8QZNc4Nf3NSTc8nZSxzqwLbqnwG4/Brun_Jephthah%27s-Daughter.jpg\",\"https://cdn.steemitimages.com/DQmQvYs1BQrZ2neyPk7Q7MnxZFixjS8Rzqj1dgxq6hWDr61/image.png\",\"https://cdn.steemitimages.com/DQmUnpK8JxNSPrgFkTPinY2cyPfqmLdcRig3K8LjGkVU3Bh/image.png\",\"https://cdn.steemitimages.com/DQmboeBCK7qvXBGEfvgt7U7w8pGFCKvps6mwXpJS85DQ14i/image.png\",\"https://cdn.steemitimages.com/DQmaB2ckg9mqSCREKu3U3bkR36QChXTMzUZ9ruH98jioSWf/image.png\",\"https://cdn.steemitimages.com/DQmSBwRZ2ZuMKRqoDT4FfBjJhDeiPQg5qh6Zjk2vCbviQrG/image.png\",\"https://cdn.steemitimages.com/DQmWKRpNB8Cvupg8wS81USNhNBsXwe3kJWqxdXDrS2E3wCR/image.png\",\"https://cdn.steemitimages.com/DQmePH1ZacB5f6e5Q9jtSnxgAaacAJyAJUXTPHH55EBnG3g/image.png\",\"https://cdn.steemitimages.com/DQmc9KUv7KC24PxWUEUGXsoUudhEgjfXs6hstfiAdiGuaH9/image.png\",\"https://cdn.steemitimages.com/DQmcvmCcjCXM8UW4HN9nPqUJEz1UfhztEghKmFBPQEHfbp3/image.png\",\"https://cdn.steemitimages.com/DQmbWq6yT8iGZsuVrJihDRAs52F3s2cP4MQF2ik4YXBc2w1/image.png\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}",
      "parent_author": "",
      "parent_permlink": "bible",
      "permlink": "the-bible-vs-game-of-thrones-one-of-these-is-hardcore",
      "title": "The Bible vs. Game of Thrones - One of These is Hardcore!"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-06-22T19:47:30",
  "trx_id": "70bca24003f7c522ef3f6cee418b65d01fb0c076",
  "trx_in_block": 27,
  "virtual_op": 0
}
2018/06/22 19:42:57
authorderza
permlinkthe-bible-vs-game-of-thrones-one-of-these-is-hardcore
voterderza
weight10000 (100.00%)
Transaction InfoBlock #23553556/Trx a645ebf5c56cf8b1ddb457e202085c64975f4b80
View Raw JSON Data
{
  "block": 23553556,
  "op": [
    "vote",
    {
      "author": "derza",
      "permlink": "the-bible-vs-game-of-thrones-one-of-these-is-hardcore",
      "voter": "derza",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-06-22T19:42:57",
  "trx_id": "a645ebf5c56cf8b1ddb457e202085c64975f4b80",
  "trx_in_block": 27,
  "virtual_op": 0
}
2018/06/22 17:53:21
authorderza
permlinkthe-bible-vs-game-of-thrones-one-of-these-is-hardcore
voterubg
weight100 (1.00%)
Transaction InfoBlock #23551364/Trx f33b7b70309b85397423a38cec42105d45616b4d
View Raw JSON Data
{
  "block": 23551364,
  "op": [
    "vote",
    {
      "author": "derza",
      "permlink": "the-bible-vs-game-of-thrones-one-of-these-is-hardcore",
      "voter": "ubg",
      "weight": 100
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-06-22T17:53:21",
  "trx_id": "f33b7b70309b85397423a38cec42105d45616b4d",
  "trx_in_block": 13,
  "virtual_op": 0
}
2018/06/22 17:01:24
authorderza
permlinkthe-bible-vs-game-of-thrones-one-of-these-is-hardcore
voteryehey
weight1000 (10.00%)
Transaction InfoBlock #23550325/Trx d176c3e457733d36ecb92de3abd9e9f154b2f825
View Raw JSON Data
{
  "block": 23550325,
  "op": [
    "vote",
    {
      "author": "derza",
      "permlink": "the-bible-vs-game-of-thrones-one-of-these-is-hardcore",
      "voter": "yehey",
      "weight": 1000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-06-22T17:01:24",
  "trx_id": "d176c3e457733d36ecb92de3abd9e9f154b2f825",
  "trx_in_block": 31,
  "virtual_op": 0
}
2018/06/22 16:28:48
authora-0-1
bodyPlease Upvote➜https://steemit.com/christianity/@bible.com/verse-of-the-day-revelation-21-8-niv
json metadata{"tags":["bible"],"links":["https://steemit.com/christianity/@bible.com/verse-of-the-day-revelation-21-8-niv"],"app":"steemit/0.1"}
parent authorderza
parent permlinkthe-bible-vs-game-of-thrones-one-of-these-is-hardcore
permlinkre-derza-the-bible-vs-game-of-thrones-one-of-these-is-hardcore-20180622t162847331z
title
Transaction InfoBlock #23549673/Trx 3a07693fd5675bff03656f9a66e1e4f26ebcf95f
View Raw JSON Data
{
  "block": 23549673,
  "op": [
    "comment",
    {
      "author": "a-0-1",
      "body": "Please Upvote➜https://steemit.com/christianity/@bible.com/verse-of-the-day-revelation-21-8-niv",
      "json_metadata": "{\"tags\":[\"bible\"],\"links\":[\"https://steemit.com/christianity/@bible.com/verse-of-the-day-revelation-21-8-niv\"],\"app\":\"steemit/0.1\"}",
      "parent_author": "derza",
      "parent_permlink": "the-bible-vs-game-of-thrones-one-of-these-is-hardcore",
      "permlink": "re-derza-the-bible-vs-game-of-thrones-one-of-these-is-hardcore-20180622t162847331z",
      "title": ""
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-06-22T16:28:48",
  "trx_id": "3a07693fd5675bff03656f9a66e1e4f26ebcf95f",
  "trx_in_block": 17,
  "virtual_op": 0
}
2018/06/22 16:28:00
authorderza
bodyEvery now and then you hear these "concerned citizens" calling to end the pervasive and mostly gratuitous violence - primarily in video games, movies and HBO. Personally, I find graphic depictions of violence a turn off - I really don't need to see that make-believe blood splattering from a decapitated soldier - I can fill in the blanks myself. But that's just me. Violence per se does not bother me - I find it as entertaining as the next guy, I just don't like the gore. What is highly ironic though is when you hear these protestations come from the most unlikely group - the Bible camp. It is really amazing to me how years of listening to the same old tired sermons can make one quite so oblivious to the visceral gruesomeness of the Bible as a narrative. If ever Tarantino or Ethan Coen got their hands on a good script of "Bibleville" - that would be an action movie that would make Fargo or Pulp Fiction or, more to the point, "Game of Thrones", seem like Pollyannaesque kindergarten stories. ![](https://cdn.steemitimages.com/DQmWft3LSFR1rAF9Nu2zHoGLA1UR7ZFZrdKgdv3hptMAVNA/image.png) So what would "Bibleville" look like in my imagination? Well, it would be an R-rated movie, which I will definitively demonstrate below. The plot would be based strictly strictly on the canonical Old Testament text, with some dialogue and side characters as garnish. The kind of plot I imagine would trace a life of a family from the proverbial birth of the nation down to the vicissitudes of political intrigue in the monarchical Israel, the Civil War between David's descendants, the Assyrian and Babylonian invasions, and the Restoration. Some of the juicy earlier stories could be included as "reminiscences by the fire" among Jacob's motley crew of sons. Some featured scenes that would be sure to keep viewers' attention and beg them for more would include: A graphic depiction of the first **fratricide** - Cain and Abel (Gen. 4) ![](https://cdn.steemitimages.com/DQmdmjcFFdd59E2mkURRVvsoPYQRBkFzgZ4t3td15C5gHVe/image.png) Angels fooling around (the technical term is **fornicating**) with hot, hot, hot "daughters of men" (Gen. 6) and ensuing corruption of morals ![](https://cdn.steemitimages.com/DQmSCyN2RUWqaDJGVArBWFJ1BuofPDGss97CaStR2dVoUyS/image.png) Near total planet-wide **genocide** via an orchestrated series of natural disasters - "Operation Climate Change" (Noah) ![](https://cdn.steemitimages.com/DQmX6AVEnGfA1GayXkcyaBgpg8K3bEcWyHKFCKvow2Hqqkm/image.png) Complete and total **intoxication/substance abuse** followed by **lewd and indecent exposure** - starring Noah (Gen 8) and the awkward scene of Ham"walking in on dad" ![](https://cdn.steemitimages.com/DQmXhKLjwinTiFwefTWGNDxTfpKWmfzajZ7p3yWnncDnxbQ/image.png) Abraham **pimping** out his wife Sarah (is there a technical term for this?) to the Pharaoh to gain his favor ![](https://cdn.steemitimages.com/DQmc18Hkx53qXVHbt182V3a1NE7KKTXtWSBN27YJLesnGie/image.png) Abraham doing Hagar "the maid", with wife's approval, of course, - **polygamy** ![](https://cdn.steemitimages.com/DQmcHFT6KpdeNde8Vq8Sm8icivskQZPbTmTMQqMyRPuKdXN/image.png) Gay pride in Sodom - "make love to a visitor". Lot offers his daughters to be **gang raped**, rather than let the crowd have fun with his three visitors. Another close call - the visitors turn out to be angels. **Mass extermination** - incineration of two entire cities of Sodom &amp; Gomorrah by fire - everyone burnt alive. Yup, no survivors. ![](https://cdn.steemitimages.com/DQmQzjTy8Cev14ZadZgQmNimbnJsW91uEdPgpX9V9FPeeEB/image.png) **Incest** and **ménage à trois** in one package - Lot's daughters getting daddy drunk and having a great time taking turns jumping his bones - out of a sense of duty, of course (to improve the demographic situation, aka "to make the world a better place"). ![](https://cdn.steemitimages.com/DQmcCDbFcHoWats7Kz6vhsMMwrCn4y39MbBygAafYaoQmnS/image.png) ![](https://cdn.steemitimages.com/DQmQj21tzAPuXCC1s6YhBmMJ9UvxKfVokN5hAkbg86nJwDZ/image.png) **Child abuse** - Abraham "almost" sacrificing Isaac the old fashioned way - solo camping trip with dad in the mountains, getting tied up and unleashing the dagger over the boy's head - but a last minute change and we only slaughter a little lamb. That was close! ![](https://cdn.steemitimages.com/DQmV5gs7Uec7PfeRzcw5oJnDHKk2bmcD3vXEGBZqNUrSo6V/image.png) The revenge of Simeon and Levi - mafia-style **massacre** of boyfriend's clan - because "sex is for married people only" (Genesis 34). Ah Dinah, why couldn't you keep your panties on?? (A bonus in the director's cut version - a portrayal of group circumcision of Shechem's family, a type of early Jewish ER scene). ![](https://cdn.steemitimages.com/DQmSK5uDrnQvfNFbSzTZKyUCkcz8vTdKjeuVMYhAVe1YByS/image.png) The story of Onan - the guy who invented birth control by pulling out early(sic!) when doing the deceased brother's wife (polygamy is so taxing), and possibly also **masturbation (also known as onanism)** - and what came of it.(Gen. 38:9). Tamar the prankster - a little side job as a 'sex worker' to see what the father-in-law (Judah) is packing (Gen 38:12-26). A day (and nine months) in a life of a **prostitute**. Another **incestuous** relationship. ![](https://cdn.steemitimages.com/DQmTPJLk1fshmyLpvLDfbDHrP1LwUpgVE2ujF5zHoJknm2C/image.png) Jacob - outdoes grandpa Abraham by having an ultimate sex competition with 4 women - a sex Olympics titled "Who can bear more sons???". The result of this **polygamous love fest** - The Twelve Tribes of Israel. ![](https://cdn.steemitimages.com/DQmZh5gE6VYgbKMXJE7spby8p6V29ifGFRrJm3Lxd4t5uNd/image.png) Joseph and Potiphar's wife - **sexual harassment** at the workplace, and this time the woman is the boss with all the perks. (Gen. 39) ![](https://cdn.steemitimages.com/DQmPndA51ZdB4iHpMstMz4tP1xELAKj5SjjETtyNXvbHfmA/image.png) Moses killing an Egyptian in a fit of anger - meh, just another **murder** (Exodus 2) ![](https://cdn.steemitimages.com/DQmQZ4y5EYsP8UKEAkQDTameXy2j8MYdi6dVtsJk4XdNCVN/image.png) The plagues of Egypt culminating in the **massive extermination** of ALL Egyptian firstborn. ![](https://cdn.steemitimages.com/DQmVPFW96XLK4qE36NY5aoyRmr97x8TBZvKXKE4oYHmK9Tp/image.png) Israel on the way to the Promised Land perform another **mass killing** - this time of the Midianites - including women who had wasted their virginity on Midianite men. This should make for a real edge-of-your-seat action as each potential victim is examined, pronounced "yea" or "nay", and is either executed or sent to the match-maker. (Number 31) ![](https://cdn.steemitimages.com/DQmYeR9jj1QLyrhvAZ2drPiQ7EQox668wCbaJbyZ5aZwtq3/image.png) The conquest of Canaan - rivers of blood - **massive genocide** (women and children included) - pretty much sums up the book of Joshua. The highlight of this section could be the siege and the destruction Jericho - all city inhabitants are executed save for the traitor and whore Rahab and her kin. (Joshua 5-6) ![](https://cdn.steemitimages.com/DQmca6RT4YYR92vj5RPMdW464mQevoMF28KCvaAirWTFrqQ/image.png) ![](https://cdn.steemitimages.com/DQmYFkRTJGKbJtGnLNRd985oUyQntYaKRDMveg5BNqe4FEt/image.png) Judge Ehud, using false pretenses, kills Moabite king Eglon by plunging a sword deep into the guy's fat belly until **gore, fat and excrement** start to gush out (Judges 3:21ff). Did I mention Eglon was fat? Disgusting! ![](https://cdn.steemitimages.com/DQmedrTgnNXwQibGyKY2U89NVVjrLUV636VmpvVGTemACg3/image.png) **Child sacrifice** - Jephthah (another judge-ruler of Israel) killing his only daughter because "I promised God to sacrifice to Him whatever first comes out to greet me". (Judges 11) ![](https://cdn.steemitimages.com/DQmQTygmpUVjr96LRbTNEq4mRnhcgXenNrfA9emdghFzSt2/image.png) ![Brun_Jephthah%27s-Daughter.jpg](https://cdn.steemitimages.com/DQmRwHpQ5p3jCgH9PhB8QZNc4Nf3NSTc8nZSxzqwLbqnwG4/Brun_Jephthah%27s-Daughter.jpg) **Gang rape** and **murder** of a concubine of a certain Levite; her subsequent dismemberment by her husband who then overnights her sundry parts to all the tribes of Israel in a desperate call for revenge. A civil war ensues. (Judges 19) ![](https://cdn.steemitimages.com/DQmQvYs1BQrZ2neyPk7Q7MnxZFixjS8Rzqj1dgxq6hWDr61/image.png) Saul calling on a witch of Endor to perform... **witchcraft** and **summon the dead** - the ghost of Samuel who had died a few chapters earlier. (1 Samuel 28) ![](https://cdn.steemitimages.com/DQmUnpK8JxNSPrgFkTPinY2cyPfqmLdcRig3K8LjGkVU3Bh/image.png) The story of David the bounty hunter - in order to get the king's daughter, he needs to kill 100 men and bring 100 **foreskins** (skin off the tip of the penis) to the king. David over-delivers and brings 200. Go David! The story of David and Bathsheba is just too good to pass up - Bathsheba bathes naked where she could be seen by strangers (on purpose?), David is overpowered by her charms and consummates his passion committing **adultery**. Then he schemes to **murder** her husband. ![](https://cdn.steemitimages.com/DQmboeBCK7qvXBGEfvgt7U7w8pGFCKvps6mwXpJS85DQ14i/image.png) One of David's sons Amnon **rapes** his half-sister Tamar. The **incestuous lust** is just rampant in this family line. Of course the story does not end there - Amnon tells Tamar to get lost and is subsequently punished for being less than a gentleman - he is **murdered** by Tamar's brother Absalom. Rape and murder, - I sense another winning plot twist. (2 Samuel 13) ![](https://cdn.steemitimages.com/DQmaB2ckg9mqSCREKu3U3bkR36QChXTMzUZ9ruH98jioSWf/image.png) ![](https://cdn.steemitimages.com/DQmSBwRZ2ZuMKRqoDT4FfBjJhDeiPQg5qh6Zjk2vCbviQrG/image.png) David ensures his claim to the throne by clearing the brush, so to speak, ordering the murder of seven of Saul's sons and grandsons (2 Samuel 21) Elijah vs. the prophets of Baal and Jezebel. Elijah kills all the prophets of Baal. Jezebel is thrown out of a window and dogs eat up her remains. **Blood and guts**, we want more **blood and guts**! (2 Kings 9:30-37) ![](https://cdn.steemitimages.com/DQmWKRpNB8Cvupg8wS81USNhNBsXwe3kJWqxdXDrS2E3wCR/image.png) ![](https://cdn.steemitimages.com/DQmePH1ZacB5f6e5Q9jtSnxgAaacAJyAJUXTPHH55EBnG3g/image.png) Balding prophet Elisha is mocked by a bunch of punk kids (42 of them to be exact). Elisha curses them ("F**k you"?) and the bears come out of the woods and tear all the 42 kids to shreds. Bears and **corpses**! Now, that would be a fun scene to film! Tarantino, where are you??? ![](https://cdn.steemitimages.com/DQmc9KUv7KC24PxWUEUGXsoUudhEgjfXs6hstfiAdiGuaH9/image.png) Prophet Isaiah is told by God to strip naked, and so he does and wanders around the streets showing off his **naked butt** for three(!) years. It's a symbolic gesture - obviously, warning Israel not to trust the king of Egypt lest they end up with bare-cheeked themselves. (Isaiah 20) ![](https://cdn.steemitimages.com/DQmcvmCcjCXM8UW4HN9nPqUJEz1UfhztEghKmFBPQEHfbp3/image.png) Jeremiah the prophet plays "hide the underwear under a rock". The key seems to be that it is dirty underwear as God told him not to wash it for some time. Eeeeew! (Jeremiah 13:1-11). It's a symbolic gesture with a deep meaning. God tells Ezekiel to bake his meal using **human excrement** for fuel - as a symbolic gesture. Ezekiel protests and God downgrades to using literal bull shit. (Ezekiel 4:12). Yeah! Prophet Hosea, following God's instructions, is searching for the most **sexually promiscuous** woman in the city (it's kind of a euphemism for a whore) - so he could marry her. (Hosea 1). As you probably have guessed, this too is a symbolic gesture. Hosea marries Gomer, she bears him three children and eventually dumps him and the kids for another man. Classic move! ![](https://cdn.steemitimages.com/DQmbWq6yT8iGZsuVrJihDRAs52F3s2cP4MQF2ik4YXBc2w1/image.png) As you could probably see from the above compilation - we have a veritable blockbuster on our hands - so much space for a creative genius like Tarantino to really make it rain fire and brimstone. Anyway, when I hear the critics say we could use a moratorium violence, gore and spilled guts, I heartily agree and I think they should should probably start by re-working the canon of the Old Testament. But, of course, tastes differ, as they say.
json metadata{"tags":["bible","christianity","violence","religion","culture"],"image":["https://cdn.steemitimages.com/DQmWft3LSFR1rAF9Nu2zHoGLA1UR7ZFZrdKgdv3hptMAVNA/image.png","https://cdn.steemitimages.com/DQmdmjcFFdd59E2mkURRVvsoPYQRBkFzgZ4t3td15C5gHVe/image.png","https://cdn.steemitimages.com/DQmSCyN2RUWqaDJGVArBWFJ1BuofPDGss97CaStR2dVoUyS/image.png","https://cdn.steemitimages.com/DQmX6AVEnGfA1GayXkcyaBgpg8K3bEcWyHKFCKvow2Hqqkm/image.png","https://cdn.steemitimages.com/DQmXhKLjwinTiFwefTWGNDxTfpKWmfzajZ7p3yWnncDnxbQ/image.png","https://cdn.steemitimages.com/DQmc18Hkx53qXVHbt182V3a1NE7KKTXtWSBN27YJLesnGie/image.png","https://cdn.steemitimages.com/DQmcHFT6KpdeNde8Vq8Sm8icivskQZPbTmTMQqMyRPuKdXN/image.png","https://cdn.steemitimages.com/DQmQzjTy8Cev14ZadZgQmNimbnJsW91uEdPgpX9V9FPeeEB/image.png","https://cdn.steemitimages.com/DQmcCDbFcHoWats7Kz6vhsMMwrCn4y39MbBygAafYaoQmnS/image.png","https://cdn.steemitimages.com/DQmQj21tzAPuXCC1s6YhBmMJ9UvxKfVokN5hAkbg86nJwDZ/image.png","https://cdn.steemitimages.com/DQmV5gs7Uec7PfeRzcw5oJnDHKk2bmcD3vXEGBZqNUrSo6V/image.png","https://cdn.steemitimages.com/DQmSK5uDrnQvfNFbSzTZKyUCkcz8vTdKjeuVMYhAVe1YByS/image.png","https://cdn.steemitimages.com/DQmTPJLk1fshmyLpvLDfbDHrP1LwUpgVE2ujF5zHoJknm2C/image.png","https://cdn.steemitimages.com/DQmZh5gE6VYgbKMXJE7spby8p6V29ifGFRrJm3Lxd4t5uNd/image.png","https://cdn.steemitimages.com/DQmPndA51ZdB4iHpMstMz4tP1xELAKj5SjjETtyNXvbHfmA/image.png","https://cdn.steemitimages.com/DQmQZ4y5EYsP8UKEAkQDTameXy2j8MYdi6dVtsJk4XdNCVN/image.png","https://cdn.steemitimages.com/DQmVPFW96XLK4qE36NY5aoyRmr97x8TBZvKXKE4oYHmK9Tp/image.png","https://cdn.steemitimages.com/DQmYeR9jj1QLyrhvAZ2drPiQ7EQox668wCbaJbyZ5aZwtq3/image.png","https://cdn.steemitimages.com/DQmca6RT4YYR92vj5RPMdW464mQevoMF28KCvaAirWTFrqQ/image.png","https://cdn.steemitimages.com/DQmYFkRTJGKbJtGnLNRd985oUyQntYaKRDMveg5BNqe4FEt/image.png","https://cdn.steemitimages.com/DQmedrTgnNXwQibGyKY2U89NVVjrLUV636VmpvVGTemACg3/image.png","https://cdn.steemitimages.com/DQmQTygmpUVjr96LRbTNEq4mRnhcgXenNrfA9emdghFzSt2/image.png","https://cdn.steemitimages.com/DQmRwHpQ5p3jCgH9PhB8QZNc4Nf3NSTc8nZSxzqwLbqnwG4/Brun_Jephthah%27s-Daughter.jpg","https://cdn.steemitimages.com/DQmQvYs1BQrZ2neyPk7Q7MnxZFixjS8Rzqj1dgxq6hWDr61/image.png","https://cdn.steemitimages.com/DQmUnpK8JxNSPrgFkTPinY2cyPfqmLdcRig3K8LjGkVU3Bh/image.png","https://cdn.steemitimages.com/DQmboeBCK7qvXBGEfvgt7U7w8pGFCKvps6mwXpJS85DQ14i/image.png","https://cdn.steemitimages.com/DQmaB2ckg9mqSCREKu3U3bkR36QChXTMzUZ9ruH98jioSWf/image.png","https://cdn.steemitimages.com/DQmSBwRZ2ZuMKRqoDT4FfBjJhDeiPQg5qh6Zjk2vCbviQrG/image.png","https://cdn.steemitimages.com/DQmWKRpNB8Cvupg8wS81USNhNBsXwe3kJWqxdXDrS2E3wCR/image.png","https://cdn.steemitimages.com/DQmePH1ZacB5f6e5Q9jtSnxgAaacAJyAJUXTPHH55EBnG3g/image.png","https://cdn.steemitimages.com/DQmc9KUv7KC24PxWUEUGXsoUudhEgjfXs6hstfiAdiGuaH9/image.png","https://cdn.steemitimages.com/DQmcvmCcjCXM8UW4HN9nPqUJEz1UfhztEghKmFBPQEHfbp3/image.png","https://cdn.steemitimages.com/DQmbWq6yT8iGZsuVrJihDRAs52F3s2cP4MQF2ik4YXBc2w1/image.png"],"app":"steemit/0.1","format":"markdown"}
parent author
parent permlinkbible
permlinkthe-bible-vs-game-of-thrones-one-of-these-is-hardcore
titleThe Bible vs. Game of Thrones - One of These is Hardcore!
Transaction InfoBlock #23549657/Trx e84afd586f55506034be3aa246e0f1a3ce7093ae
View Raw JSON Data
{
  "block": 23549657,
  "op": [
    "comment",
    {
      "author": "derza",
      "body": "Every now and then you hear these \"concerned citizens\" calling to end the pervasive and mostly gratuitous violence - primarily in video games, movies and HBO. Personally, I find graphic depictions of violence a turn off - I really don't need to see that make-believe blood splattering from a decapitated soldier - I can fill in the blanks myself.  But that's just me. Violence per se does not bother me - I find it as entertaining as the next guy, I just don't like the gore.\n\n\nWhat is highly ironic though is when you hear these protestations come from the most unlikely group - the Bible camp. It is really amazing to me how years of listening to the same old tired sermons can make one quite so oblivious to the visceral gruesomeness of the Bible as a narrative. If ever Tarantino or Ethan Coen got their hands on a good script of \"Bibleville\" - that would be an action movie that would make Fargo or Pulp Fiction or, more to the point, \"Game of Thrones\", seem like Pollyannaesque kindergarten stories.\n\n\n![](https://cdn.steemitimages.com/DQmWft3LSFR1rAF9Nu2zHoGLA1UR7ZFZrdKgdv3hptMAVNA/image.png)\n\nSo what would \"Bibleville\" look like in my imagination? Well, it would be an R-rated movie, which I will definitively demonstrate below. The plot would be based strictly strictly on the canonical Old Testament text, with some dialogue and side characters as garnish.\n\n\nThe kind of plot I imagine would trace a life of a family from the proverbial birth of the nation down to the vicissitudes of political intrigue in the monarchical Israel, the Civil War between David's descendants, the Assyrian and Babylonian invasions, and the Restoration. Some of the juicy earlier stories could be included as \"reminiscences by the fire\" among Jacob's motley crew of sons. Some featured scenes that would be sure to keep viewers' attention and beg them for more would include:\n\n A graphic depiction of the first **fratricide** - Cain and Abel (Gen. 4)\n\n![](https://cdn.steemitimages.com/DQmdmjcFFdd59E2mkURRVvsoPYQRBkFzgZ4t3td15C5gHVe/image.png)\n\nAngels fooling around (the technical term is **fornicating**) with hot, hot, hot \"daughters of men\" (Gen. 6) and ensuing corruption of morals\n\n![](https://cdn.steemitimages.com/DQmSCyN2RUWqaDJGVArBWFJ1BuofPDGss97CaStR2dVoUyS/image.png)\n\nNear total planet-wide **genocide** via an orchestrated series of natural  disasters - \"Operation Climate Change\" (Noah)\n\n![](https://cdn.steemitimages.com/DQmX6AVEnGfA1GayXkcyaBgpg8K3bEcWyHKFCKvow2Hqqkm/image.png)\n\nComplete and total **intoxication/substance abuse** followed by **lewd and indecent exposure** - starring Noah (Gen 8) and the awkward scene of Ham\"walking in on dad\"\n\n![](https://cdn.steemitimages.com/DQmXhKLjwinTiFwefTWGNDxTfpKWmfzajZ7p3yWnncDnxbQ/image.png)\n\nAbraham **pimping** out his wife Sarah (is there a technical term for this?) to the Pharaoh to gain his favor\n\n![](https://cdn.steemitimages.com/DQmc18Hkx53qXVHbt182V3a1NE7KKTXtWSBN27YJLesnGie/image.png)\n\nAbraham doing  Hagar \"the maid\", with wife's approval, of course, - **polygamy**\n\n![](https://cdn.steemitimages.com/DQmcHFT6KpdeNde8Vq8Sm8icivskQZPbTmTMQqMyRPuKdXN/image.png)\n\nGay pride in Sodom - \"make love to a visitor\". Lot offers his daughters to be **gang raped**, rather than let the crowd have fun with his three visitors. Another close call - the visitors turn out to be angels.\n\n**Mass extermination** - incineration of two entire cities of Sodom &amp; Gomorrah by fire - everyone burnt alive. Yup, no survivors.\n\n![](https://cdn.steemitimages.com/DQmQzjTy8Cev14ZadZgQmNimbnJsW91uEdPgpX9V9FPeeEB/image.png)\n\n**Incest** and **ménage à trois** in one package - Lot's daughters getting daddy drunk and having a great time taking turns jumping his bones - out of a sense of duty, of course (to improve the demographic situation, aka \"to make the world a better place\").\n\n![](https://cdn.steemitimages.com/DQmcCDbFcHoWats7Kz6vhsMMwrCn4y39MbBygAafYaoQmnS/image.png)\n\n![](https://cdn.steemitimages.com/DQmQj21tzAPuXCC1s6YhBmMJ9UvxKfVokN5hAkbg86nJwDZ/image.png)\n\n**Child abuse** - Abraham \"almost\" sacrificing Isaac the old fashioned way - solo camping trip with dad in the mountains, getting tied up and unleashing the dagger over the boy's head - but a last minute change and we only slaughter a little lamb. That was close!\n\n![](https://cdn.steemitimages.com/DQmV5gs7Uec7PfeRzcw5oJnDHKk2bmcD3vXEGBZqNUrSo6V/image.png)\n\nThe revenge of Simeon and Levi - mafia-style **massacre** of boyfriend's clan - because \"sex is for married people only\" (Genesis 34). Ah Dinah, why couldn't you keep your panties on?? (A bonus in the director's cut version - a portrayal of group circumcision of Shechem's family, a type of early Jewish ER scene).\n\n![](https://cdn.steemitimages.com/DQmSK5uDrnQvfNFbSzTZKyUCkcz8vTdKjeuVMYhAVe1YByS/image.png)\n\nThe story of Onan - the guy who invented birth control by pulling out early(sic!) when doing the deceased brother's wife (polygamy is so taxing), and possibly also **masturbation (also known as onanism)** -  and what came of it.(Gen. 38:9).\n\nTamar the prankster - a little side job as a 'sex worker' to see what the father-in-law (Judah) is packing  (Gen 38:12-26). A day (and nine months) in a life of a **prostitute**. Another **incestuous** relationship.\n\n![](https://cdn.steemitimages.com/DQmTPJLk1fshmyLpvLDfbDHrP1LwUpgVE2ujF5zHoJknm2C/image.png)\n\nJacob - outdoes grandpa Abraham by having an ultimate sex competition with 4 women - a sex Olympics titled \"Who can bear more sons???\". The result of this **polygamous love fest** - The Twelve Tribes of Israel.\n\n![](https://cdn.steemitimages.com/DQmZh5gE6VYgbKMXJE7spby8p6V29ifGFRrJm3Lxd4t5uNd/image.png)\n\nJoseph and Potiphar's wife - **sexual harassment** at the workplace, and this time the woman is the boss with all the perks.  (Gen. 39)\n\n![](https://cdn.steemitimages.com/DQmPndA51ZdB4iHpMstMz4tP1xELAKj5SjjETtyNXvbHfmA/image.png)\n\nMoses killing an Egyptian in a fit of anger - meh, just another **murder** (Exodus 2)\n\n![](https://cdn.steemitimages.com/DQmQZ4y5EYsP8UKEAkQDTameXy2j8MYdi6dVtsJk4XdNCVN/image.png)\n\nThe plagues of Egypt culminating in the **massive extermination** of ALL Egyptian firstborn.\n\n![](https://cdn.steemitimages.com/DQmVPFW96XLK4qE36NY5aoyRmr97x8TBZvKXKE4oYHmK9Tp/image.png)\n\nIsrael on the way to the Promised Land perform another **mass killing**  - this time of the Midianites - including women who had wasted their virginity on Midianite men. This should make for a real edge-of-your-seat action as each potential victim is examined, pronounced \"yea\" or \"nay\", and is either executed or sent to the match-maker. (Number 31)\n\n![](https://cdn.steemitimages.com/DQmYeR9jj1QLyrhvAZ2drPiQ7EQox668wCbaJbyZ5aZwtq3/image.png)\n\nThe conquest of Canaan - rivers of blood - **massive genocide** (women and children included) - pretty much sums up the book of Joshua. The highlight of this section could be the siege and the destruction Jericho - all city inhabitants are executed save for the traitor and whore Rahab and her kin. (Joshua 5-6)\n\n![](https://cdn.steemitimages.com/DQmca6RT4YYR92vj5RPMdW464mQevoMF28KCvaAirWTFrqQ/image.png)\n\n![](https://cdn.steemitimages.com/DQmYFkRTJGKbJtGnLNRd985oUyQntYaKRDMveg5BNqe4FEt/image.png)\n\nJudge Ehud, using false pretenses, kills Moabite king Eglon by plunging a sword deep into the guy's fat belly until **gore, fat and excrement** start to gush out (Judges 3:21ff). Did I mention Eglon was fat? Disgusting!\n\n![](https://cdn.steemitimages.com/DQmedrTgnNXwQibGyKY2U89NVVjrLUV636VmpvVGTemACg3/image.png)\n\n**Child sacrifice** - Jephthah (another judge-ruler of Israel) killing his only daughter because \"I promised God to sacrifice to Him whatever first comes out to greet me\". (Judges 11)\n\n![](https://cdn.steemitimages.com/DQmQTygmpUVjr96LRbTNEq4mRnhcgXenNrfA9emdghFzSt2/image.png)\n\n![Brun_Jephthah%27s-Daughter.jpg](https://cdn.steemitimages.com/DQmRwHpQ5p3jCgH9PhB8QZNc4Nf3NSTc8nZSxzqwLbqnwG4/Brun_Jephthah%27s-Daughter.jpg)\n\n**Gang rape** and **murder** of a concubine of a certain Levite; her subsequent dismemberment by her husband who then overnights her sundry parts to all the tribes of Israel in a desperate call for revenge. A civil war ensues. (Judges 19)\n\n![](https://cdn.steemitimages.com/DQmQvYs1BQrZ2neyPk7Q7MnxZFixjS8Rzqj1dgxq6hWDr61/image.png)\n\nSaul calling on a witch of Endor to perform... **witchcraft** and **summon the dead** - the ghost of Samuel who had died a few chapters earlier.  (1 Samuel 28)\n\n![](https://cdn.steemitimages.com/DQmUnpK8JxNSPrgFkTPinY2cyPfqmLdcRig3K8LjGkVU3Bh/image.png)\n\nThe story of David the bounty hunter - in order to get the king's daughter, he needs to kill 100 men and bring 100 **foreskins** (skin off the tip of the penis) to the king. David over-delivers and brings 200. Go David!\n\nThe story of David and Bathsheba is just too good to pass up - Bathsheba bathes naked  where she could be seen by strangers (on purpose?), David is overpowered by her charms and consummates his passion committing **adultery**. Then he schemes to **murder** her husband.\n\n![](https://cdn.steemitimages.com/DQmboeBCK7qvXBGEfvgt7U7w8pGFCKvps6mwXpJS85DQ14i/image.png)\n\nOne of David's sons Amnon **rapes** his half-sister Tamar. The **incestuous lust** is just rampant in this family line. Of course the story does not end there - Amnon tells Tamar to get lost and is subsequently punished for being less than a gentleman - he is **murdered** by Tamar's brother Absalom. Rape and murder, - I sense another winning plot twist. (2 Samuel 13)\n\n![](https://cdn.steemitimages.com/DQmaB2ckg9mqSCREKu3U3bkR36QChXTMzUZ9ruH98jioSWf/image.png)\n\n![](https://cdn.steemitimages.com/DQmSBwRZ2ZuMKRqoDT4FfBjJhDeiPQg5qh6Zjk2vCbviQrG/image.png)\n\nDavid ensures his claim to the throne by clearing the brush, so to speak, ordering the murder of  seven of Saul's sons and grandsons (2 Samuel 21)\n\nElijah vs. the prophets of Baal and Jezebel. Elijah kills all the prophets of Baal. Jezebel is thrown out of a window and dogs eat up her remains. **Blood and guts**, we want more **blood and guts**! (2 Kings 9:30-37)\n\n![](https://cdn.steemitimages.com/DQmWKRpNB8Cvupg8wS81USNhNBsXwe3kJWqxdXDrS2E3wCR/image.png)\n\n![](https://cdn.steemitimages.com/DQmePH1ZacB5f6e5Q9jtSnxgAaacAJyAJUXTPHH55EBnG3g/image.png)\n\nBalding prophet Elisha is mocked by a bunch of punk kids  (42 of them to be exact). Elisha curses them (\"F**k you\"?) and the bears come out of the woods and tear all the 42 kids to shreds. Bears and **corpses**! Now, that would be a fun scene to film! Tarantino, where are you???\n\n![](https://cdn.steemitimages.com/DQmc9KUv7KC24PxWUEUGXsoUudhEgjfXs6hstfiAdiGuaH9/image.png)\n\nProphet Isaiah is told by God to strip naked, and so he does and wanders around the streets showing off his **naked butt** for three(!) years. It's a symbolic gesture - obviously, warning Israel not to trust the king of Egypt lest they end up with bare-cheeked themselves. (Isaiah 20)\n\n![](https://cdn.steemitimages.com/DQmcvmCcjCXM8UW4HN9nPqUJEz1UfhztEghKmFBPQEHfbp3/image.png)\n\nJeremiah the prophet plays \"hide the underwear under a rock\". The key seems to be that it is dirty underwear as God told him not to wash it for some time. Eeeeew! (Jeremiah 13:1-11). It's a symbolic gesture with a deep meaning.\n\nGod tells Ezekiel to bake his meal using **human excrement** for fuel - as a symbolic gesture. Ezekiel protests and God downgrades to using literal bull shit. (Ezekiel 4:12). Yeah!\n\nProphet Hosea, following God's instructions, is searching for the most **sexually promiscuous** woman in the city (it's kind of a euphemism for a whore) - so he could marry her. (Hosea 1). As you probably have guessed, this too is a symbolic gesture. Hosea marries Gomer, she bears him three children  and eventually dumps him and the kids for another man. Classic move!\n\n![](https://cdn.steemitimages.com/DQmbWq6yT8iGZsuVrJihDRAs52F3s2cP4MQF2ik4YXBc2w1/image.png)\n\n\nAs you could probably see from the above compilation - we have a veritable blockbuster on our hands - so much space for a creative genius like Tarantino to really make it rain fire and brimstone.\n\n\nAnyway, when I hear the critics say we could use a moratorium violence, gore and spilled guts, I heartily agree and I think they should should probably start by re-working the canon of the  Old Testament. But, of course, tastes differ, as they say.",
      "json_metadata": "{\"tags\":[\"bible\",\"christianity\",\"violence\",\"religion\",\"culture\"],\"image\":[\"https://cdn.steemitimages.com/DQmWft3LSFR1rAF9Nu2zHoGLA1UR7ZFZrdKgdv3hptMAVNA/image.png\",\"https://cdn.steemitimages.com/DQmdmjcFFdd59E2mkURRVvsoPYQRBkFzgZ4t3td15C5gHVe/image.png\",\"https://cdn.steemitimages.com/DQmSCyN2RUWqaDJGVArBWFJ1BuofPDGss97CaStR2dVoUyS/image.png\",\"https://cdn.steemitimages.com/DQmX6AVEnGfA1GayXkcyaBgpg8K3bEcWyHKFCKvow2Hqqkm/image.png\",\"https://cdn.steemitimages.com/DQmXhKLjwinTiFwefTWGNDxTfpKWmfzajZ7p3yWnncDnxbQ/image.png\",\"https://cdn.steemitimages.com/DQmc18Hkx53qXVHbt182V3a1NE7KKTXtWSBN27YJLesnGie/image.png\",\"https://cdn.steemitimages.com/DQmcHFT6KpdeNde8Vq8Sm8icivskQZPbTmTMQqMyRPuKdXN/image.png\",\"https://cdn.steemitimages.com/DQmQzjTy8Cev14ZadZgQmNimbnJsW91uEdPgpX9V9FPeeEB/image.png\",\"https://cdn.steemitimages.com/DQmcCDbFcHoWats7Kz6vhsMMwrCn4y39MbBygAafYaoQmnS/image.png\",\"https://cdn.steemitimages.com/DQmQj21tzAPuXCC1s6YhBmMJ9UvxKfVokN5hAkbg86nJwDZ/image.png\",\"https://cdn.steemitimages.com/DQmV5gs7Uec7PfeRzcw5oJnDHKk2bmcD3vXEGBZqNUrSo6V/image.png\",\"https://cdn.steemitimages.com/DQmSK5uDrnQvfNFbSzTZKyUCkcz8vTdKjeuVMYhAVe1YByS/image.png\",\"https://cdn.steemitimages.com/DQmTPJLk1fshmyLpvLDfbDHrP1LwUpgVE2ujF5zHoJknm2C/image.png\",\"https://cdn.steemitimages.com/DQmZh5gE6VYgbKMXJE7spby8p6V29ifGFRrJm3Lxd4t5uNd/image.png\",\"https://cdn.steemitimages.com/DQmPndA51ZdB4iHpMstMz4tP1xELAKj5SjjETtyNXvbHfmA/image.png\",\"https://cdn.steemitimages.com/DQmQZ4y5EYsP8UKEAkQDTameXy2j8MYdi6dVtsJk4XdNCVN/image.png\",\"https://cdn.steemitimages.com/DQmVPFW96XLK4qE36NY5aoyRmr97x8TBZvKXKE4oYHmK9Tp/image.png\",\"https://cdn.steemitimages.com/DQmYeR9jj1QLyrhvAZ2drPiQ7EQox668wCbaJbyZ5aZwtq3/image.png\",\"https://cdn.steemitimages.com/DQmca6RT4YYR92vj5RPMdW464mQevoMF28KCvaAirWTFrqQ/image.png\",\"https://cdn.steemitimages.com/DQmYFkRTJGKbJtGnLNRd985oUyQntYaKRDMveg5BNqe4FEt/image.png\",\"https://cdn.steemitimages.com/DQmedrTgnNXwQibGyKY2U89NVVjrLUV636VmpvVGTemACg3/image.png\",\"https://cdn.steemitimages.com/DQmQTygmpUVjr96LRbTNEq4mRnhcgXenNrfA9emdghFzSt2/image.png\",\"https://cdn.steemitimages.com/DQmRwHpQ5p3jCgH9PhB8QZNc4Nf3NSTc8nZSxzqwLbqnwG4/Brun_Jephthah%27s-Daughter.jpg\",\"https://cdn.steemitimages.com/DQmQvYs1BQrZ2neyPk7Q7MnxZFixjS8Rzqj1dgxq6hWDr61/image.png\",\"https://cdn.steemitimages.com/DQmUnpK8JxNSPrgFkTPinY2cyPfqmLdcRig3K8LjGkVU3Bh/image.png\",\"https://cdn.steemitimages.com/DQmboeBCK7qvXBGEfvgt7U7w8pGFCKvps6mwXpJS85DQ14i/image.png\",\"https://cdn.steemitimages.com/DQmaB2ckg9mqSCREKu3U3bkR36QChXTMzUZ9ruH98jioSWf/image.png\",\"https://cdn.steemitimages.com/DQmSBwRZ2ZuMKRqoDT4FfBjJhDeiPQg5qh6Zjk2vCbviQrG/image.png\",\"https://cdn.steemitimages.com/DQmWKRpNB8Cvupg8wS81USNhNBsXwe3kJWqxdXDrS2E3wCR/image.png\",\"https://cdn.steemitimages.com/DQmePH1ZacB5f6e5Q9jtSnxgAaacAJyAJUXTPHH55EBnG3g/image.png\",\"https://cdn.steemitimages.com/DQmc9KUv7KC24PxWUEUGXsoUudhEgjfXs6hstfiAdiGuaH9/image.png\",\"https://cdn.steemitimages.com/DQmcvmCcjCXM8UW4HN9nPqUJEz1UfhztEghKmFBPQEHfbp3/image.png\",\"https://cdn.steemitimages.com/DQmbWq6yT8iGZsuVrJihDRAs52F3s2cP4MQF2ik4YXBc2w1/image.png\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}",
      "parent_author": "",
      "parent_permlink": "bible",
      "permlink": "the-bible-vs-game-of-thrones-one-of-these-is-hardcore",
      "title": "The Bible vs. Game of Thrones - One of These is Hardcore!"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-06-22T16:28:00",
  "trx_id": "e84afd586f55506034be3aa246e0f1a3ce7093ae",
  "trx_in_block": 12,
  "virtual_op": 0
}
2018/05/31 21:48:15
authorderza
permlinkcellular-automata-art
voterami92
weight10000 (100.00%)
Transaction InfoBlock #22923225/Trx b8e9298fb98a470595ecf712423c65cd3b836e3e
View Raw JSON Data
{
  "block": 22923225,
  "op": [
    "vote",
    {
      "author": "derza",
      "permlink": "cellular-automata-art",
      "voter": "ami92",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-31T21:48:15",
  "trx_id": "b8e9298fb98a470595ecf712423c65cd3b836e3e",
  "trx_in_block": 44,
  "virtual_op": 0
}
2018/05/31 21:34:30
authorami92
bodyThank you @derza, have a nice day..
json metadata{"tags":["food"],"users":["derza"],"app":"steemit/0.1"}
parent authorderza
parent permlinkre-ami92-recipe-shrimp-stir-fry-gravy-coconut-milk-udang-tumis-kuah-santan-bilingual-c784ff6f61f8f-20180531t211815802z
permlinkre-derza-re-ami92-recipe-shrimp-stir-fry-gravy-coconut-milk-udang-tumis-kuah-santan-bilingual-c784ff6f61f8f-20180531t213425106z
title
Transaction InfoBlock #22922950/Trx e62cf9aef3ebe282654a2e2b1b9289041628d3b9
View Raw JSON Data
{
  "block": 22922950,
  "op": [
    "comment",
    {
      "author": "ami92",
      "body": "Thank you @derza, have a nice day..",
      "json_metadata": "{\"tags\":[\"food\"],\"users\":[\"derza\"],\"app\":\"steemit/0.1\"}",
      "parent_author": "derza",
      "parent_permlink": "re-ami92-recipe-shrimp-stir-fry-gravy-coconut-milk-udang-tumis-kuah-santan-bilingual-c784ff6f61f8f-20180531t211815802z",
      "permlink": "re-derza-re-ami92-recipe-shrimp-stir-fry-gravy-coconut-milk-udang-tumis-kuah-santan-bilingual-c784ff6f61f8f-20180531t213425106z",
      "title": ""
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-31T21:34:30",
  "trx_id": "e62cf9aef3ebe282654a2e2b1b9289041628d3b9",
  "trx_in_block": 52,
  "virtual_op": 0
}
derzaupdated their account properties
2018/05/31 21:23:18
accountderza
json metadata{"profile":{"profile_image":"https://cdn.steemitimages.com/DQmP35tuFu9K2qWstFe2NyYR5FeRmryCbrHdsxELzhwCYuj/13895430_10154399450443799_3800691358817440023_n.jpg","name":"Derza","location":"New York City","cover_image":"http://yourshot.nationalgeographic.com/u/ss/fQYSUbVfts-T7Ehj8_lPSALDynd8EvLslLdo55vR6NshFhCn83m-ExKI5XoghwTsTj-vNYyAVRQqMkI-lYQ6_6fhIlhUVt-9XG_d76yIqxEfxayoXOjCqtQiFV1l0ZLMvI2eSgu-TbqZx_2jxotgNXaFCGNLEDhj1K_krGyxcjM0HqPh_3UYHVS-UxWL3R05TfvfZa_NvTQlufJv/"}}
memo keySTM6A4WVPJcsJzCMnbhEvGAHUPSPhRC8Xmw4ZwkM3U63omG4CuX6M
Transaction InfoBlock #22922726/Trx 6ba263b4bba6841c891f5f7970521798a5f1334c
View Raw JSON Data
{
  "block": 22922726,
  "op": [
    "account_update",
    {
      "account": "derza",
      "json_metadata": "{\"profile\":{\"profile_image\":\"https://cdn.steemitimages.com/DQmP35tuFu9K2qWstFe2NyYR5FeRmryCbrHdsxELzhwCYuj/13895430_10154399450443799_3800691358817440023_n.jpg\",\"name\":\"Derza\",\"location\":\"New York City\",\"cover_image\":\"http://yourshot.nationalgeographic.com/u/ss/fQYSUbVfts-T7Ehj8_lPSALDynd8EvLslLdo55vR6NshFhCn83m-ExKI5XoghwTsTj-vNYyAVRQqMkI-lYQ6_6fhIlhUVt-9XG_d76yIqxEfxayoXOjCqtQiFV1l0ZLMvI2eSgu-TbqZx_2jxotgNXaFCGNLEDhj1K_krGyxcjM0HqPh_3UYHVS-UxWL3R05TfvfZa_NvTQlufJv/\"}}",
      "memo_key": "STM6A4WVPJcsJzCMnbhEvGAHUPSPhRC8Xmw4ZwkM3U63omG4CuX6M"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-31T21:23:18",
  "trx_id": "6ba263b4bba6841c891f5f7970521798a5f1334c",
  "trx_in_block": 6,
  "virtual_op": 0
}
2018/05/31 21:18:18
authorderza
bodyLooks delicious!
json metadata{"tags":["food"],"app":"steemit/0.1"}
parent authorami92
parent permlinkrecipe-shrimp-stir-fry-gravy-coconut-milk-udang-tumis-kuah-santan-bilingual-c784ff6f61f8f
permlinkre-ami92-recipe-shrimp-stir-fry-gravy-coconut-milk-udang-tumis-kuah-santan-bilingual-c784ff6f61f8f-20180531t211815802z
title
Transaction InfoBlock #22922626/Trx e235b6887fcab0dbee2e2b876677cde107a3b04b
View Raw JSON Data
{
  "block": 22922626,
  "op": [
    "comment",
    {
      "author": "derza",
      "body": "Looks delicious!",
      "json_metadata": "{\"tags\":[\"food\"],\"app\":\"steemit/0.1\"}",
      "parent_author": "ami92",
      "parent_permlink": "recipe-shrimp-stir-fry-gravy-coconut-milk-udang-tumis-kuah-santan-bilingual-c784ff6f61f8f",
      "permlink": "re-ami92-recipe-shrimp-stir-fry-gravy-coconut-milk-udang-tumis-kuah-santan-bilingual-c784ff6f61f8f-20180531t211815802z",
      "title": ""
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-31T21:18:18",
  "trx_id": "e235b6887fcab0dbee2e2b876677cde107a3b04b",
  "trx_in_block": 16,
  "virtual_op": 0
}
2018/05/31 21:17:09
authorami92
permlinkrecipe-shrimp-stir-fry-gravy-coconut-milk-udang-tumis-kuah-santan-bilingual-c784ff6f61f8f
voterderza
weight10000 (100.00%)
Transaction InfoBlock #22922603/Trx 30a31a71dae125f1b156e8735c4a0ef03ca968ac
View Raw JSON Data
{
  "block": 22922603,
  "op": [
    "vote",
    {
      "author": "ami92",
      "permlink": "recipe-shrimp-stir-fry-gravy-coconut-milk-udang-tumis-kuah-santan-bilingual-c784ff6f61f8f",
      "voter": "derza",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-31T21:17:09",
  "trx_id": "30a31a71dae125f1b156e8735c4a0ef03ca968ac",
  "trx_in_block": 5,
  "virtual_op": 0
}
2018/05/30 18:15:18
authorderza
permlinkcellular-automata-art
votersteemitboard
weight100 (1.00%)
Transaction InfoBlock #22890171/Trx 1a0283d08f31f6cfff9739ee45b0d3818b15099c
View Raw JSON Data
{
  "block": 22890171,
  "op": [
    "vote",
    {
      "author": "derza",
      "permlink": "cellular-automata-art",
      "voter": "steemitboard",
      "weight": 100
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-30T18:15:18",
  "trx_id": "1a0283d08f31f6cfff9739ee45b0d3818b15099c",
  "trx_in_block": 6,
  "virtual_op": 0
}
2018/05/30 18:15:15
authorsteemitboard
bodyCongratulations @derza! You have completed some achievement on Steemit and have been rewarded with new badge(s) : [![](https://steemitimages.com/70x80/http://steemitboard.com/notifications/posts.png)](http://steemitboard.com/@derza) Award for the number of posts published Click on any badge to view your Board of Honor. To support your work, I also upvoted your post! For more information about SteemitBoard, click [here](https://steemit.com/@steemitboard) If you no longer want to receive notifications, reply to this comment with the word `STOP` **Do not miss the [last announcement](https://steemit.com/steemitboard/@steemitboard/steemitboard-new-level-notifications) from @steemitboard!** > Do you like **SteemitBoard**'s project? **[Vote for its witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1)** and **get one more award**!
json metadata{"image":["https://steemitboard.com/img/notify.png"]}
parent authorderza
parent permlinkcellular-automata-art
permlinksteemitboard-notify-derza-20180530t181517000z
title
Transaction InfoBlock #22890170/Trx ec143f54228c0e9011ac895a337b118d5ea3d266
View Raw JSON Data
{
  "block": 22890170,
  "op": [
    "comment",
    {
      "author": "steemitboard",
      "body": "Congratulations @derza! You have completed some achievement on Steemit and have been rewarded with new badge(s) :\n\n[![](https://steemitimages.com/70x80/http://steemitboard.com/notifications/posts.png)](http://steemitboard.com/@derza) Award for the number of posts published\n\nClick on any badge to view your Board of Honor.\n\nTo support your work, I also upvoted your post!\nFor more information about SteemitBoard, click [here](https://steemit.com/@steemitboard)\n\nIf you no longer want to receive notifications, reply to this comment with the word `STOP`\n\n**Do not miss the [last announcement](https://steemit.com/steemitboard/@steemitboard/steemitboard-new-level-notifications) from @steemitboard!**\n\n> Do you like **SteemitBoard**'s project? **[Vote for its witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1)** and **get one more award**!",
      "json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}",
      "parent_author": "derza",
      "parent_permlink": "cellular-automata-art",
      "permlink": "steemitboard-notify-derza-20180530t181517000z",
      "title": ""
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-30T18:15:15",
  "trx_id": "ec143f54228c0e9011ac895a337b118d5ea3d266",
  "trx_in_block": 47,
  "virtual_op": 0
}
derzapublished a new post: cellular-automata-art
2018/05/29 20:35:42
authorderza
body@@ -50,16 +50,17 @@ on (see +%5B previous @@ -65,16 +65,79 @@ us posts +%5D(https://steemit.com/excel/@derza/cellular-automata-via-excel) ), I hav
json metadata{"tags":["art","math","cellular","automata"],"image":["https://cdn.steemitimages.com/DQmNZ8rvRT2uYrLLGGhh3hEUAZ3C97CZk4G7VfnRPPurYfD/phase%20space%20(init%20cond%20-%201)%20no%20chart%20bkg.png","https://cdn.steemitimages.com/DQmZdMe1PAAFGV3hxHA2vcwZgDE6MUJE8jEtYsF4WwbSDvZ/phase%20space%20(init%20cond%20-%2043)bw.png","https://cdn.steemitimages.com/DQmRDw4qXQFPKBaciuXX4V6rcRjEyJS6Gug9Pk9j7WQsViM/phase%20space%20(init%20cond%20-%2057)%20no%20chart%20bkg.png","https://cdn.steemitimages.com/DQmUnZQjUzXry9T3wwvQ3DVmQtksp7NsMTxCVLJHB9FDWQj/phase%20space%20(init%20cond-109).png","https://cdn.steemitimages.com/DQmQY1pLrGtFY2B1DJs4LmcJfwf73mA1pHKLeXMjhEPwLxm/rule90.png","https://cdn.steemitimages.com/DQmWUdG2E4KbJkGFxvmqge3V7nBCKHdRbfKbosyBWpTjhM6/Torus.png","https://cdn.steemitimages.com/DQmV4yNdy6aicEABiAxCZzq6mXZbmL4xVr5qofJrp8e3Uq5/Sphere.png","https://cdn.steemitimages.com/DQmY2TZndFiVRYXUwSydyZ9rg9pGkZWQ1FqX8XuB78xeL2D/rule90-big.png","https://cdn.steemitimages.com/DQmeBjtndFrvSEdzTzXVt9Gq6N326W1zk6VXrcD6EJET4PF/Rule%2030.png"],"app":"steemit/0.1","format":"markdown","links":["https://steemit.com/excel/@derza/cellular-automata-via-excel"]}
parent author
parent permlinkart
permlinkcellular-automata-art
titleCellular automata art
Transaction InfoBlock #22864182/Trx 3fd56e1cb1baf2b85baabf720dae7f5134127bc8
View Raw JSON Data
{
  "block": 22864182,
  "op": [
    "comment",
    {
      "author": "derza",
      "body": "@@ -50,16 +50,17 @@\n on (see \n+%5B\n previous\n@@ -65,16 +65,79 @@\n us posts\n+%5D(https://steemit.com/excel/@derza/cellular-automata-via-excel)\n ), I hav\n",
      "json_metadata": "{\"tags\":[\"art\",\"math\",\"cellular\",\"automata\"],\"image\":[\"https://cdn.steemitimages.com/DQmNZ8rvRT2uYrLLGGhh3hEUAZ3C97CZk4G7VfnRPPurYfD/phase%20space%20(init%20cond%20-%201)%20no%20chart%20bkg.png\",\"https://cdn.steemitimages.com/DQmZdMe1PAAFGV3hxHA2vcwZgDE6MUJE8jEtYsF4WwbSDvZ/phase%20space%20(init%20cond%20-%2043)bw.png\",\"https://cdn.steemitimages.com/DQmRDw4qXQFPKBaciuXX4V6rcRjEyJS6Gug9Pk9j7WQsViM/phase%20space%20(init%20cond%20-%2057)%20no%20chart%20bkg.png\",\"https://cdn.steemitimages.com/DQmUnZQjUzXry9T3wwvQ3DVmQtksp7NsMTxCVLJHB9FDWQj/phase%20space%20(init%20cond-109).png\",\"https://cdn.steemitimages.com/DQmQY1pLrGtFY2B1DJs4LmcJfwf73mA1pHKLeXMjhEPwLxm/rule90.png\",\"https://cdn.steemitimages.com/DQmWUdG2E4KbJkGFxvmqge3V7nBCKHdRbfKbosyBWpTjhM6/Torus.png\",\"https://cdn.steemitimages.com/DQmV4yNdy6aicEABiAxCZzq6mXZbmL4xVr5qofJrp8e3Uq5/Sphere.png\",\"https://cdn.steemitimages.com/DQmY2TZndFiVRYXUwSydyZ9rg9pGkZWQ1FqX8XuB78xeL2D/rule90-big.png\",\"https://cdn.steemitimages.com/DQmeBjtndFrvSEdzTzXVt9Gq6N326W1zk6VXrcD6EJET4PF/Rule%2030.png\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\",\"links\":[\"https://steemit.com/excel/@derza/cellular-automata-via-excel\"]}",
      "parent_author": "",
      "parent_permlink": "art",
      "permlink": "cellular-automata-art",
      "title": "Cellular automata art"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-29T20:35:42",
  "trx_id": "3fd56e1cb1baf2b85baabf720dae7f5134127bc8",
  "trx_in_block": 56,
  "virtual_op": 0
}
2018/05/29 20:34:12
authorderza
permlinkcellular-automata-art
votercekna
weight10000 (100.00%)
Transaction InfoBlock #22864152/Trx 9c8ffcb257fdf7244a727364ca3edde387ed9584
View Raw JSON Data
{
  "block": 22864152,
  "op": [
    "vote",
    {
      "author": "derza",
      "permlink": "cellular-automata-art",
      "voter": "cekna",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-29T20:34:12",
  "trx_id": "9c8ffcb257fdf7244a727364ca3edde387ed9584",
  "trx_in_block": 5,
  "virtual_op": 0
}
derzapublished a new post: cellular-automata-art
2018/05/29 20:33:24
authorderza
bodyAs I have explored the Cellular Automata phenomenon (see previous posts), I have tried to quantify the variability of their outputs, their periodicity via graphs. Some of these have turned out to be quite aesthetically pleasing in addition to elucidating the richness of CA versatility. See for yourself! ![phase space (init cond - 1) no chart bkg.png](https://cdn.steemitimages.com/DQmNZ8rvRT2uYrLLGGhh3hEUAZ3C97CZk4G7VfnRPPurYfD/phase%20space%20(init%20cond%20-%201)%20no%20chart%20bkg.png) This is a phase space diagram - it maps transitions from some state mapped at time `t` to time `t+1`. ![phase space (init cond - 43)bw.png](https://cdn.steemitimages.com/DQmZdMe1PAAFGV3hxHA2vcwZgDE6MUJE8jEtYsF4WwbSDvZ/phase%20space%20(init%20cond%20-%2043)bw.png) This is also a phase space diagram but with much fewer phase states and fewer transitions. Amazingly, it is quite possible for the same CA to generate both of the above graphs - the variability arising purely from different *initial conditions*. A few more to drive the point home - all of these were from a single CA (same rules) but with different initial conditions. ![phase space (init cond - 57) no chart bkg.png](https://cdn.steemitimages.com/DQmRDw4qXQFPKBaciuXX4V6rcRjEyJS6Gug9Pk9j7WQsViM/phase%20space%20(init%20cond%20-%2057)%20no%20chart%20bkg.png) (initial condition bitmask: 57) ![phase space (init cond-109).png](https://cdn.steemitimages.com/DQmUnZQjUzXry9T3wwvQ3DVmQtksp7NsMTxCVLJHB9FDWQj/phase%20space%20(init%20cond-109).png) (initial condition bitmask: 109) The one below is "Rule 90" CA - the short version and then a few variations - projections onto a torus and a sphere. ![rule90.png](https://cdn.steemitimages.com/DQmQY1pLrGtFY2B1DJs4LmcJfwf73mA1pHKLeXMjhEPwLxm/rule90.png) ![Torus.png](https://cdn.steemitimages.com/DQmWUdG2E4KbJkGFxvmqge3V7nBCKHdRbfKbosyBWpTjhM6/Torus.png) ![Sphere.png](https://cdn.steemitimages.com/DQmV4yNdy6aicEABiAxCZzq6mXZbmL4xVr5qofJrp8e3Uq5/Sphere.png) ![rule90-big.png](https://cdn.steemitimages.com/DQmY2TZndFiVRYXUwSydyZ9rg9pGkZWQ1FqX8XuB78xeL2D/rule90-big.png) Finally, rule 30 CA: ![Rule 30.png](https://cdn.steemitimages.com/DQmeBjtndFrvSEdzTzXVt9Gq6N326W1zk6VXrcD6EJET4PF/Rule%2030.png)
json metadata{"tags":["art","math","cellular","automata"],"image":["https://cdn.steemitimages.com/DQmNZ8rvRT2uYrLLGGhh3hEUAZ3C97CZk4G7VfnRPPurYfD/phase%20space%20(init%20cond%20-%201)%20no%20chart%20bkg.png","https://cdn.steemitimages.com/DQmZdMe1PAAFGV3hxHA2vcwZgDE6MUJE8jEtYsF4WwbSDvZ/phase%20space%20(init%20cond%20-%2043)bw.png","https://cdn.steemitimages.com/DQmRDw4qXQFPKBaciuXX4V6rcRjEyJS6Gug9Pk9j7WQsViM/phase%20space%20(init%20cond%20-%2057)%20no%20chart%20bkg.png","https://cdn.steemitimages.com/DQmUnZQjUzXry9T3wwvQ3DVmQtksp7NsMTxCVLJHB9FDWQj/phase%20space%20(init%20cond-109).png","https://cdn.steemitimages.com/DQmQY1pLrGtFY2B1DJs4LmcJfwf73mA1pHKLeXMjhEPwLxm/rule90.png","https://cdn.steemitimages.com/DQmWUdG2E4KbJkGFxvmqge3V7nBCKHdRbfKbosyBWpTjhM6/Torus.png","https://cdn.steemitimages.com/DQmV4yNdy6aicEABiAxCZzq6mXZbmL4xVr5qofJrp8e3Uq5/Sphere.png","https://cdn.steemitimages.com/DQmY2TZndFiVRYXUwSydyZ9rg9pGkZWQ1FqX8XuB78xeL2D/rule90-big.png","https://cdn.steemitimages.com/DQmeBjtndFrvSEdzTzXVt9Gq6N326W1zk6VXrcD6EJET4PF/Rule%2030.png"],"app":"steemit/0.1","format":"markdown"}
parent author
parent permlinkart
permlinkcellular-automata-art
titleCellular automata art
Transaction InfoBlock #22864136/Trx 9ec8455441fc24a13244308bfcc90907fe4e284b
View Raw JSON Data
{
  "block": 22864136,
  "op": [
    "comment",
    {
      "author": "derza",
      "body": "As I have explored the Cellular Automata phenomenon (see previous posts), I have tried to quantify the variability of their outputs, their periodicity via graphs. Some of these have turned out to be quite aesthetically pleasing in addition to elucidating the richness of CA versatility.\n\nSee for yourself!\n\n![phase space (init cond - 1) no chart bkg.png](https://cdn.steemitimages.com/DQmNZ8rvRT2uYrLLGGhh3hEUAZ3C97CZk4G7VfnRPPurYfD/phase%20space%20(init%20cond%20-%201)%20no%20chart%20bkg.png)\n\nThis is a phase space diagram - it maps transitions from some state mapped at time `t` to time `t+1`.\n\n![phase space (init cond - 43)bw.png](https://cdn.steemitimages.com/DQmZdMe1PAAFGV3hxHA2vcwZgDE6MUJE8jEtYsF4WwbSDvZ/phase%20space%20(init%20cond%20-%2043)bw.png)\n\nThis is also a phase space diagram but with much fewer phase states and fewer transitions. Amazingly, it is quite possible for the same CA to generate both of the above graphs - the variability arising purely from different *initial conditions*.\n\nA few more to drive the point home - all of these were from a single CA (same rules) but with different initial conditions.\n\n![phase space (init cond - 57) no chart bkg.png](https://cdn.steemitimages.com/DQmRDw4qXQFPKBaciuXX4V6rcRjEyJS6Gug9Pk9j7WQsViM/phase%20space%20(init%20cond%20-%2057)%20no%20chart%20bkg.png)\n\n(initial condition bitmask:  57)\n\n![phase space (init cond-109).png](https://cdn.steemitimages.com/DQmUnZQjUzXry9T3wwvQ3DVmQtksp7NsMTxCVLJHB9FDWQj/phase%20space%20(init%20cond-109).png)\n\n(initial condition bitmask: 109)\n\n\nThe one below is  \"Rule 90\" CA - the short version and then a few variations - projections onto a torus and  a sphere.\n\n![rule90.png](https://cdn.steemitimages.com/DQmQY1pLrGtFY2B1DJs4LmcJfwf73mA1pHKLeXMjhEPwLxm/rule90.png)\n\n\n![Torus.png](https://cdn.steemitimages.com/DQmWUdG2E4KbJkGFxvmqge3V7nBCKHdRbfKbosyBWpTjhM6/Torus.png)\n\n\n![Sphere.png](https://cdn.steemitimages.com/DQmV4yNdy6aicEABiAxCZzq6mXZbmL4xVr5qofJrp8e3Uq5/Sphere.png)\n\n\n![rule90-big.png](https://cdn.steemitimages.com/DQmY2TZndFiVRYXUwSydyZ9rg9pGkZWQ1FqX8XuB78xeL2D/rule90-big.png)\n\nFinally, rule 30 CA:\n\n![Rule 30.png](https://cdn.steemitimages.com/DQmeBjtndFrvSEdzTzXVt9Gq6N326W1zk6VXrcD6EJET4PF/Rule%2030.png)",
      "json_metadata": "{\"tags\":[\"art\",\"math\",\"cellular\",\"automata\"],\"image\":[\"https://cdn.steemitimages.com/DQmNZ8rvRT2uYrLLGGhh3hEUAZ3C97CZk4G7VfnRPPurYfD/phase%20space%20(init%20cond%20-%201)%20no%20chart%20bkg.png\",\"https://cdn.steemitimages.com/DQmZdMe1PAAFGV3hxHA2vcwZgDE6MUJE8jEtYsF4WwbSDvZ/phase%20space%20(init%20cond%20-%2043)bw.png\",\"https://cdn.steemitimages.com/DQmRDw4qXQFPKBaciuXX4V6rcRjEyJS6Gug9Pk9j7WQsViM/phase%20space%20(init%20cond%20-%2057)%20no%20chart%20bkg.png\",\"https://cdn.steemitimages.com/DQmUnZQjUzXry9T3wwvQ3DVmQtksp7NsMTxCVLJHB9FDWQj/phase%20space%20(init%20cond-109).png\",\"https://cdn.steemitimages.com/DQmQY1pLrGtFY2B1DJs4LmcJfwf73mA1pHKLeXMjhEPwLxm/rule90.png\",\"https://cdn.steemitimages.com/DQmWUdG2E4KbJkGFxvmqge3V7nBCKHdRbfKbosyBWpTjhM6/Torus.png\",\"https://cdn.steemitimages.com/DQmV4yNdy6aicEABiAxCZzq6mXZbmL4xVr5qofJrp8e3Uq5/Sphere.png\",\"https://cdn.steemitimages.com/DQmY2TZndFiVRYXUwSydyZ9rg9pGkZWQ1FqX8XuB78xeL2D/rule90-big.png\",\"https://cdn.steemitimages.com/DQmeBjtndFrvSEdzTzXVt9Gq6N326W1zk6VXrcD6EJET4PF/Rule%2030.png\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}",
      "parent_author": "",
      "parent_permlink": "art",
      "permlink": "cellular-automata-art",
      "title": "Cellular automata art"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-29T20:33:24",
  "trx_id": "9ec8455441fc24a13244308bfcc90907fe4e284b",
  "trx_in_block": 35,
  "virtual_op": 0
}
2018/05/23 16:15:54
authorderza
body@@ -659,17 +659,162 @@ AJkV6Z) -. +or the preview below .%0A!%5BCA2-4.png%5D(https://steemitimages.com/DQmcrDUKoUa8ZULqyaZ1vyi3GUngkVVtT7mN4hFgvGGDEhf/CA2-4.png)%0A(preview from the video)%0A %0A%0A If th
json metadata{"tags":["programming","cellular","automata","excel","macro"],"image":["https://steemitimages.com/DQmcrDUKoUa8ZULqyaZ1vyi3GUngkVVtT7mN4hFgvGGDEhf/CA2-4.png","https://steemitimages.com/DQmd99Ho7T8RD2mJXce93URnKgPyrAeDDPUxPAtQFoBhzxY/CA2-1.png","https://steemitimages.com/DQmQHYzXc8gVrWpsb5Vgzr6oorFnEagA4wxdtPAP8ZVtLwk/CA2-2.png","https://steemitimages.com/DQmR3YWxudQ39Yqnhj3bqjrqmNrxvdvtE7ihuvGFrCkXT8u/CA2-3.png"],"links":["https://steemit.com/excel/@derza/cellular-automata-via-excel","https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life","https://www.blogger.com/video.g?token=AD6v5dwn5dpnGVw-QGLGSVmLMU3Q8PFjRyVEDvmmVXtQX15U1nIWvzpxTKzQqmpzUBelOQgQqlDxbz7LN1XvQL3Ri5yg0oz96TE_FcFkBGf3H3-ZJ0h88FXiJ3behll1cXPzNcAJkV6Z"],"app":"steemit/0.1","format":"markdown"}
parent author
parent permlinkprogramming
permlinkrevisiting-cellular-automata-in-excel-conway-s-game-of-life
titleRevisiting Cellular Automata in Excel - Conway's Game of Life
Transaction InfoBlock #22686572/Trx a960e900eb66d476b000fc80fab56a0feb9cb6b3
View Raw JSON Data
{
  "block": 22686572,
  "op": [
    "comment",
    {
      "author": "derza",
      "body": "@@ -659,17 +659,162 @@\n AJkV6Z) \n-.\n+or the preview below .%0A!%5BCA2-4.png%5D(https://steemitimages.com/DQmcrDUKoUa8ZULqyaZ1vyi3GUngkVVtT7mN4hFgvGGDEhf/CA2-4.png)%0A(preview from the video)%0A\n %0A%0A If th\n",
      "json_metadata": "{\"tags\":[\"programming\",\"cellular\",\"automata\",\"excel\",\"macro\"],\"image\":[\"https://steemitimages.com/DQmcrDUKoUa8ZULqyaZ1vyi3GUngkVVtT7mN4hFgvGGDEhf/CA2-4.png\",\"https://steemitimages.com/DQmd99Ho7T8RD2mJXce93URnKgPyrAeDDPUxPAtQFoBhzxY/CA2-1.png\",\"https://steemitimages.com/DQmQHYzXc8gVrWpsb5Vgzr6oorFnEagA4wxdtPAP8ZVtLwk/CA2-2.png\",\"https://steemitimages.com/DQmR3YWxudQ39Yqnhj3bqjrqmNrxvdvtE7ihuvGFrCkXT8u/CA2-3.png\"],\"links\":[\"https://steemit.com/excel/@derza/cellular-automata-via-excel\",\"https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life\",\"https://www.blogger.com/video.g?token=AD6v5dwn5dpnGVw-QGLGSVmLMU3Q8PFjRyVEDvmmVXtQX15U1nIWvzpxTKzQqmpzUBelOQgQqlDxbz7LN1XvQL3Ri5yg0oz96TE_FcFkBGf3H3-ZJ0h88FXiJ3behll1cXPzNcAJkV6Z\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}",
      "parent_author": "",
      "parent_permlink": "programming",
      "permlink": "revisiting-cellular-automata-in-excel-conway-s-game-of-life",
      "title": "Revisiting Cellular Automata in Excel - Conway's Game of Life"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-23T16:15:54",
  "trx_id": "a960e900eb66d476b000fc80fab56a0feb9cb6b3",
  "trx_in_block": 21,
  "virtual_op": 0
}
2018/05/23 16:13:30
authorderza
bodySo, in my [first post about CAs](https://steemit.com/excel/@derza/cellular-automata-via-excel) I discussed setting up an elementary CA - a simple 1-dimensional row of "cells". In this post I want to follow up with a discussion of what it takes to set up a more common 2-D CA, specifically the most famous one of them all - [Conway's Game of Life CA](https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life). Once we are done, you will be able to run a simulation shown in [this video](https://www.blogger.com/video.g?token=AD6v5dwn5dpnGVw-QGLGSVmLMU3Q8PFjRyVEDvmmVXtQX15U1nIWvzpxTKzQqmpzUBelOQgQqlDxbz7LN1XvQL3Ri5yg0oz96TE_FcFkBGf3H3-ZJ0h88FXiJ3behll1cXPzNcAJkV6Z) . If that looks like fun, let's delve into the implementation. By way of a reminder, the defining feature of the elementary CA was its 1-dimensional nature - it was just a single row of cells. However, what we ended up with while simulating traffic flow using Rule 184 was a grid of cells. How did that happen? Well, we simply added a time dimension - so you could see how that first top row of cells was changing as Rule 184 was successively applied to the preceding row. This worked well for us in simulating a time series of the flow of traffic. However, when we start out with a 2-D CA, this trick no longer works. We have to actually keep a separate copy of the entire 2-D grid so we can apply the rules "in parallel" - at least logically. Once the rules are all applied a completely new 2-D grid of CA cells replaces the old one. That's how higher-dimensional CAs work. So, let's see how we can do this in Excel. Fire up a new Excel workbook and set up the first row of A to Z cells as follows: > A1 - type in "=randbetween(0,1)". Drag lower left hand corner cross hairs of A1 across to Z1 Like before we are going to use this first top row to "seed" the initial configuration of the CA. Unlike the elementary CA where we seeded just the initial top row (that was the entire CA), in this case we will copy a random configuration down however many rows our CA is meant to have. In this particular case let us do a 26x26 square (columns A-Z across, and rows 2-27 down). > Select cell A5 and drag down the selection to AF11. Click on "Merge and Center". Set the vertical and horizontal alignment to "center", set the fill color to light gray, and make the font bold, Calibri, size 16. This will be our custom status tableau. > Click on View tab and on the "Macros" submenu. > Type in "SetupData" in the prompt window. This should enable the "Create" button, which you can now click on. This will open up the VBA Editor and setup the sub[routine] SetupData(). Paste the code below between the beginning and ending of the subroutine, so that the whole thing looks like this. ``` Sub SetupData() SetEnv Range("AB5").Value = "Initializing..." Range("A2:Z42").Select Selection.ClearContents For x = 1 To 26 Range("AB5").Value = "Initializing row " + Str(x) Calculate Range("A1:Z1").Select Selection.Copy Range("A1").Select Cells.Find(What:="", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _ xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:=False).Activate Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False DoEvents Next x ResetEnv Range("AB5").Value = "Initialization Complete!" End Sub ``` Place your mouse cursor after the "End Sub" and press Enter a few times. Then copy and paste the following code. (You might have noticed that these two subroutines get called at the beginning and the end of the SetupData subroutine - they are used to speed up the execution by disabling some features of Excel and then re-enabling them again). ``` Sub SetEnv() Application.Calculation = xlCalculationManual ' Application.ScreenUpdating = False Application.DisplayStatusBar = False Application.EnableEvents = False ActiveSheet.DisplayPageBreaks = False End Sub Sub ResetEnv() Application.Calculation = xlCalculationAutomatic Application.ScreenUpdating = True Application.DisplayStatusBar = True Application.EnableEvents = True ActiveSheet.DisplayPageBreaks = True End Sub ``` > Click on the "Save" button and close the VBA window. Click on "View Macros" again. You should see 3 macros now in the dialogue box - "SetupData", "SetEnv" and "ResetEnv". Select "SetupData" and click on "Options". Let's give it a shortcut - CTRL+g. Close the dialogue box. To test if everything is working simply press CTRL+g. You should be seeing a bunch of 0's and 1's being added sequentially down through row 27. In order to make this look a bit more compelling let's add some formatting. Select the range A2:Z27. While on the Home tab, click on "Conditional formatting". We will add 2 new rules. The first rule will be using icon sets and it should look like the pic.1 below: ![CA2-1.png](https://steemitimages.com/DQmd99Ho7T8RD2mJXce93URnKgPyrAeDDPUxPAtQFoBhzxY/CA2-1.png) Pic.1 This will hide the actual 0s and 1s in the cells. Click "OK and add the following rule (pic.2): ![CA2-2.png](https://steemitimages.com/DQmQHYzXc8gVrWpsb5Vgzr6oorFnEagA4wxdtPAP8ZVtLwk/CA2-2.png) Pic.2 Click "OK" and then "OK" again to save the new formatting rules. Now select the columns A-Z, right-click and select "Column width". Set that to 3.25. Select row headers 2-27, right click and choose "Row height". Set that to 20. After these changes your screen should resemble the following screenshot (pic.3): ![CA2-3.png](https://steemitimages.com/DQmR3YWxudQ39Yqnhj3bqjrqmNrxvdvtE7ihuvGFrCkXT8u/CA2-3.png) Pic.3 Now for the final pièce de résistance - the actual code for the CA. On the View tab, click on "Macros" and then on "View Macros" button. Type in "Game_of_Life" and click on "Create". Paste the code below so that you have a sub[routine] that looks like this: ``` Sub Game_of_Life() ' ' ' Keyboard Shortcut: Ctrl+l ' Dim CellData As Variant Dim rowOffset As Integer Dim colOffset As Integer Dim rangeWidth As Integer Dim rangeHeight As Integer Dim leftCell As Integer Dim rightCell As Integer Dim selfCell As Integer Dim upperLeftCell As Integer Dim lowerLeftCell As Integer Dim upperRightCell As Integer Dim lowerRightCell As Integer Dim upperSelfCell As Integer Dim lowerSelfCell As Integer Dim left_coord As Integer Dim right_coord As Integer Dim top_coord As Integer Dim bottom_coord As Integer Dim sumNeighbors As Integer Dim iterations As Integer iterations = Range("AB2").Value2 rowOffset = 2 colOffset = 1 rangeWidth = 26 rangeHeight = 26 SetEnv For Z = 1 To iterations Range(Cells(rowOffset, colOffset), Cells(rowOffset + rangeHeight - 1, colOffset + rangeWidth - 1)).Select CellData = Selection.Value2 Range("A1").Select Range("AB5").Value = "Game of Life: Iteration # " + Str(Z) For x = 1 To rangeHeight For y = 1 To rangeWidth selfCell = CellData(x, y) 'defaults left_coord = y - 1 right_coord = y + 1 top_coord = x - 1 bottom_coord = x + 1 ' corner case - literally, in the left corner If y = 1 Then left_coord = rangeWidth End If ' corner case - literally, in the right corner If y = rangeWidth Then right_coord = 1 End If ' corner case - top row If x = 1 Then top_coord = rangeHeight End If ' corner case - bottom row If x = rangeHeight Then bottom_coord = 1 End If leftCell = CellData(x, left_coord) rightCell = CellData(x, right_coord) upperLeftCell = CellData(top_coord, left_coord) lowerLeftCell = CellData(bottom_coord, left_coord) upperRightCell = CellData(top_coord, right_coord) lowerRightCell = CellData(bottom_coord, right_coord) upperSelfCell = CellData(top_coord, y) lowerSelfCell = CellData(bottom_coord, y) sumNeighbors = leftCell + rightCell + upperLeftCell + lowerLeftCell + upperRightCell + lowerRightCell + upperSelfCell + lowerSelfCell ' rule Game of Life If (selfCell = 0 And sumNeighbors < 3) Or (selfCell = 1 And sumNeighbors > 3) Or (selfCell = 1 And sumNeighbors < 2) Then ActiveSheet.Cells(x + rowOffset - 1, y + colOffset - 1).Value = 0 ElseIf (selfCell = 0 And sumNeighbors = 3) Or (selfCell = 1 And sumNeighbors = 3) Or (selfCell = 1 And sumNeighbors = 2) Then ActiveSheet.Cells(x + rowOffset - 1, y + colOffset - 1).Value = 1 Else ActiveSheet.Cells(x + rowOffset - 1, y + colOffset - 1).Value = 0 End If Next y DoEvents Next x Next Z ResetEnv Range("AB5").Value = "All iterations done!" End Sub ``` Save the subroutine and close the VBA window. Now click on "Macros" again, select "Game_of_Life" and click on "Options". Let's give it a shortcut CTRL+L. Close the dialogue box. In cell AB1 type in "Number of iterations". In cell AB2 type in "100" - our initial # of iterations to run. OK, are you ready for the big moment??? Hit CTRL+L. You should be seeing something similar to what was recorded in the video at the beginning of the post or on pic.4 below. ![CA2-4.png](https://steemitimages.com/DQmcrDUKoUa8ZULqyaZ1vyi3GUngkVVtT7mN4hFgvGGDEhf/CA2-4.png) Pic.4
json metadata{"tags":["programming","cellular","automata","excel","macro"],"image":["https://steemitimages.com/DQmd99Ho7T8RD2mJXce93URnKgPyrAeDDPUxPAtQFoBhzxY/CA2-1.png","https://steemitimages.com/DQmQHYzXc8gVrWpsb5Vgzr6oorFnEagA4wxdtPAP8ZVtLwk/CA2-2.png","https://steemitimages.com/DQmR3YWxudQ39Yqnhj3bqjrqmNrxvdvtE7ihuvGFrCkXT8u/CA2-3.png","https://steemitimages.com/DQmcrDUKoUa8ZULqyaZ1vyi3GUngkVVtT7mN4hFgvGGDEhf/CA2-4.png"],"links":["https://steemit.com/excel/@derza/cellular-automata-via-excel","https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life","https://www.blogger.com/video.g?token=AD6v5dwn5dpnGVw-QGLGSVmLMU3Q8PFjRyVEDvmmVXtQX15U1nIWvzpxTKzQqmpzUBelOQgQqlDxbz7LN1XvQL3Ri5yg0oz96TE_FcFkBGf3H3-ZJ0h88FXiJ3behll1cXPzNcAJkV6Z"],"app":"steemit/0.1","format":"markdown"}
parent author
parent permlinkprogramming
permlinkrevisiting-cellular-automata-in-excel-conway-s-game-of-life
titleRevisiting Cellular Automata in Excel - Conway's Game of Life
Transaction InfoBlock #22686524/Trx 51897b4e93615aaf78f3ec386640524d9fb89389
View Raw JSON Data
{
  "block": 22686524,
  "op": [
    "comment",
    {
      "author": "derza",
      "body": "So, in my [first post about CAs](https://steemit.com/excel/@derza/cellular-automata-via-excel)  I discussed setting up an elementary CA - a simple 1-dimensional row of \"cells\". In this post I want to follow up with a discussion of what it takes to set up a more common 2-D CA, specifically the most famous one of them all - [Conway's Game of Life CA](https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life). \n\nOnce we are done, you will be able to run a simulation shown in [this video](https://www.blogger.com/video.g?token=AD6v5dwn5dpnGVw-QGLGSVmLMU3Q8PFjRyVEDvmmVXtQX15U1nIWvzpxTKzQqmpzUBelOQgQqlDxbz7LN1XvQL3Ri5yg0oz96TE_FcFkBGf3H3-ZJ0h88FXiJ3behll1cXPzNcAJkV6Z) .\n\n If that looks like fun, let's delve into the implementation.\n\nBy way of a reminder, the defining feature of the elementary CA was its 1-dimensional nature - it was just a single row of cells. However, what we ended up with while simulating traffic flow using Rule 184 was a grid of cells. How did that happen? Well, we simply added a time dimension - so you could see how that first top row of cells was changing as Rule 184 was successively applied to the preceding row. This worked well for us in simulating a time series of the flow of traffic. However, when we start out with a 2-D CA, this trick no longer works. We have to actually keep a separate copy of the entire 2-D grid so we can apply the rules \"in parallel\"  - at least logically. Once the rules are all applied a completely new 2-D grid of CA cells replaces the old one. That's how higher-dimensional CAs work.\n\nSo, let's see how we can do this in Excel.\n\nFire up a new Excel workbook and set up the first row of A to Z cells as follows:\n\n> A1 - type in \"=randbetween(0,1)\". Drag lower left hand corner cross hairs of A1 across to Z1\n\nLike before we are going to use this first top row to \"seed\" the initial configuration of the CA. Unlike the elementary CA where we seeded just the initial top row (that was the entire CA), in this case we will copy a random configuration down however many rows our CA is meant to have. In this particular case let us do a 26x26 square (columns A-Z across, and rows 2-27 down).\n\n> Select cell A5 and drag down the selection to AF11. Click on \"Merge and Center\". Set the vertical and horizontal alignment to \"center\", set the fill color to light gray, and make the font bold, Calibri, size 16. \n\nThis will be our custom status  tableau.\n\n> Click on View tab  and on the \"Macros\" submenu. \n> Type in  \"SetupData\" in the prompt window. This should enable the \"Create\" button, which you can now click on.\n\nThis will open up the VBA Editor and setup the sub[routine] SetupData().\n\nPaste the code below between the beginning and ending of the subroutine, so that the whole thing looks like this.\n\n```\nSub SetupData()\n\nSetEnv\nRange(\"AB5\").Value = \"Initializing...\"\nRange(\"A2:Z42\").Select\nSelection.ClearContents\nFor x = 1 To 26\nRange(\"AB5\").Value = \"Initializing row \" + Str(x)\n\nCalculate\nRange(\"A1:Z1\").Select\nSelection.Copy\nRange(\"A1\").Select\n\nCells.Find(What:=\"\", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _\n    xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _\n    False, SearchFormat:=False).Activate\n\nSelection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _\n    :=False, Transpose:=False\n\nDoEvents\nNext x\nResetEnv\nRange(\"AB5\").Value = \"Initialization Complete!\"\n\n\nEnd Sub\n```\n\nPlace your mouse cursor after the \"End Sub\" and press Enter a few times. Then copy and paste the following code. (You might have noticed that these two subroutines get called at the beginning and the end of the SetupData subroutine - they are used to speed up the execution by disabling some features of Excel and then re-enabling them again).\n\n```\nSub SetEnv()\n\n\nApplication.Calculation = xlCalculationManual\n' Application.ScreenUpdating = False\nApplication.DisplayStatusBar = False\nApplication.EnableEvents = False\nActiveSheet.DisplayPageBreaks = False\n\nEnd Sub\n\nSub ResetEnv()\n\nApplication.Calculation = xlCalculationAutomatic\nApplication.ScreenUpdating = True\nApplication.DisplayStatusBar = True\nApplication.EnableEvents = True\nActiveSheet.DisplayPageBreaks = True\n\nEnd Sub\n```\n\n\n> Click on the \"Save\" button and close the VBA window. Click on \"View Macros\" again. You should see 3 macros now in the dialogue box - \"SetupData\", \"SetEnv\" and \"ResetEnv\". Select \"SetupData\" and click on \"Options\". Let's give it a shortcut - CTRL+g. Close the dialogue box.\n\n\nTo test if everything is working simply press CTRL+g. You should be seeing a bunch of 0's and 1's being added sequentially down through row 27.\n\n\nIn order to make this look a bit more compelling let's add some formatting.\n\n\nSelect the range A2:Z27. While on the Home tab, click on \"Conditional formatting\". We will add 2 new rules. The first rule will be using icon sets and it should look like the pic.1 below:\n\n![CA2-1.png](https://steemitimages.com/DQmd99Ho7T8RD2mJXce93URnKgPyrAeDDPUxPAtQFoBhzxY/CA2-1.png)\nPic.1\n\nThis will hide the actual 0s and 1s in the cells.\n\nClick \"OK and add the following rule (pic.2):\n\n![CA2-2.png](https://steemitimages.com/DQmQHYzXc8gVrWpsb5Vgzr6oorFnEagA4wxdtPAP8ZVtLwk/CA2-2.png)\nPic.2\n\nClick \"OK\" and then \"OK\" again to save the new formatting rules.\n\nNow select the columns A-Z, right-click and select \"Column width\". Set that to 3.25. Select row headers 2-27, right click and choose \"Row height\". Set that to 20.\n\nAfter these changes your screen should resemble the following screenshot (pic.3):\n\n![CA2-3.png](https://steemitimages.com/DQmR3YWxudQ39Yqnhj3bqjrqmNrxvdvtE7ihuvGFrCkXT8u/CA2-3.png)\nPic.3\n\nNow for the final pièce de résistance - the actual code for the CA.\n\nOn the View tab, click on \"Macros\" and then on \"View Macros\" button. Type in \"Game_of_Life\" and click on \"Create\". Paste the code below so that you have a sub[routine] that looks like this:\n\n```\nSub Game_of_Life()\n'\n'\n' Keyboard Shortcut: Ctrl+l\n'\nDim CellData As Variant\nDim rowOffset As Integer\nDim colOffset As Integer\nDim rangeWidth As Integer\nDim rangeHeight As Integer\n\nDim leftCell As Integer\nDim rightCell As Integer\nDim selfCell As Integer\n\nDim upperLeftCell As Integer\nDim lowerLeftCell As Integer\nDim upperRightCell As Integer\n\nDim lowerRightCell As Integer\nDim upperSelfCell As Integer\nDim lowerSelfCell As Integer\n\nDim left_coord As Integer\nDim right_coord As Integer\nDim top_coord As Integer\nDim bottom_coord As Integer\nDim sumNeighbors As Integer\n\nDim iterations As Integer\n\niterations = Range(\"AB2\").Value2\n\nrowOffset = 2\ncolOffset = 1\nrangeWidth = 26\nrangeHeight = 26\n\nSetEnv\n\nFor Z = 1 To iterations\n\n    Range(Cells(rowOffset, colOffset), Cells(rowOffset + rangeHeight - 1, colOffset + rangeWidth - 1)).Select\n   \n    CellData = Selection.Value2\n   \n    Range(\"A1\").Select\n   \n    Range(\"AB5\").Value = \"Game of Life: Iteration # \" + Str(Z)\n   \n    For x = 1 To rangeHeight\n   \n        For y = 1 To rangeWidth\n       \n            selfCell = CellData(x, y)\n           \n            'defaults\n            left_coord = y - 1\n            right_coord = y + 1\n            top_coord = x - 1\n            bottom_coord = x + 1\n           \n            ' corner case - literally, in the left corner\n            If y = 1 Then\n                left_coord = rangeWidth\n            End If\n           \n            ' corner case - literally, in the right corner       \n            If y = rangeWidth Then\n                right_coord = 1\n            End If\n           \n            ' corner case - top row\n            If x = 1 Then\n                top_coord = rangeHeight\n            End If\n           \n            ' corner case - bottom row\n            If x = rangeHeight Then\n                bottom_coord = 1\n            End If\n\n            leftCell = CellData(x, left_coord)\n            rightCell = CellData(x, right_coord)\n           \n            upperLeftCell = CellData(top_coord, left_coord)\n            lowerLeftCell = CellData(bottom_coord, left_coord)\n           \n            upperRightCell = CellData(top_coord, right_coord)\n            lowerRightCell = CellData(bottom_coord, right_coord)\n           \n            upperSelfCell = CellData(top_coord, y)\n            lowerSelfCell = CellData(bottom_coord, y)\n           \n            sumNeighbors = leftCell + rightCell + upperLeftCell + lowerLeftCell + upperRightCell + lowerRightCell + upperSelfCell + lowerSelfCell\n           \n            ' rule Game of Life\n            If (selfCell = 0 And sumNeighbors < 3) Or (selfCell = 1 And sumNeighbors > 3) Or (selfCell = 1 And sumNeighbors < 2) Then\n                ActiveSheet.Cells(x + rowOffset - 1, y + colOffset - 1).Value = 0\n            ElseIf (selfCell = 0 And sumNeighbors = 3) Or (selfCell = 1 And sumNeighbors = 3) Or (selfCell = 1 And sumNeighbors = 2) Then\n                ActiveSheet.Cells(x + rowOffset - 1, y + colOffset - 1).Value = 1\n            Else\n                ActiveSheet.Cells(x + rowOffset - 1, y + colOffset - 1).Value = 0\n            End If\n       \n        Next y\n       \n        DoEvents\n   \n    Next x\n\nNext Z\n\nResetEnv\n\nRange(\"AB5\").Value = \"All iterations done!\"\n\nEnd Sub\n```\n\nSave the subroutine and close the VBA window. Now click on \"Macros\" again, select \"Game_of_Life\" and click on \"Options\". Let's give it a shortcut CTRL+L. Close the dialogue box.\n\n\nIn cell AB1 type in \"Number of iterations\". In cell AB2 type in \"100\" - our initial # of iterations to run.\n\nOK, are you ready for the big moment???\nHit CTRL+L.\n\nYou should be seeing something similar to what was recorded in the video at the beginning of the post or on pic.4 below.\n\n![CA2-4.png](https://steemitimages.com/DQmcrDUKoUa8ZULqyaZ1vyi3GUngkVVtT7mN4hFgvGGDEhf/CA2-4.png)\nPic.4",
      "json_metadata": "{\"tags\":[\"programming\",\"cellular\",\"automata\",\"excel\",\"macro\"],\"image\":[\"https://steemitimages.com/DQmd99Ho7T8RD2mJXce93URnKgPyrAeDDPUxPAtQFoBhzxY/CA2-1.png\",\"https://steemitimages.com/DQmQHYzXc8gVrWpsb5Vgzr6oorFnEagA4wxdtPAP8ZVtLwk/CA2-2.png\",\"https://steemitimages.com/DQmR3YWxudQ39Yqnhj3bqjrqmNrxvdvtE7ihuvGFrCkXT8u/CA2-3.png\",\"https://steemitimages.com/DQmcrDUKoUa8ZULqyaZ1vyi3GUngkVVtT7mN4hFgvGGDEhf/CA2-4.png\"],\"links\":[\"https://steemit.com/excel/@derza/cellular-automata-via-excel\",\"https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life\",\"https://www.blogger.com/video.g?token=AD6v5dwn5dpnGVw-QGLGSVmLMU3Q8PFjRyVEDvmmVXtQX15U1nIWvzpxTKzQqmpzUBelOQgQqlDxbz7LN1XvQL3Ri5yg0oz96TE_FcFkBGf3H3-ZJ0h88FXiJ3behll1cXPzNcAJkV6Z\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}",
      "parent_author": "",
      "parent_permlink": "programming",
      "permlink": "revisiting-cellular-automata-in-excel-conway-s-game-of-life",
      "title": "Revisiting Cellular Automata in Excel - Conway's Game of Life"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-23T16:13:30",
  "trx_id": "51897b4e93615aaf78f3ec386640524d9fb89389",
  "trx_in_block": 14,
  "virtual_op": 0
}
2018/05/19 02:43:24
authorderza
permlinkcellular-automata-via-excel
voterswagger
weight2 (0.02%)
Transaction InfoBlock #22555157/Trx c92e55a228e079e61a0bf4dc39090d3eba6fa40c
View Raw JSON Data
{
  "block": 22555157,
  "op": [
    "vote",
    {
      "author": "derza",
      "permlink": "cellular-automata-via-excel",
      "voter": "swagger",
      "weight": 2
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-19T02:43:24",
  "trx_id": "c92e55a228e079e61a0bf4dc39090d3eba6fa40c",
  "trx_in_block": 4,
  "virtual_op": 0
}
derzapublished a new post: cellular-automata-via-excel
2018/05/19 02:42:27
authorderza
body@@ -578,24 +578,25 @@ tomaton, an +* elementary c @@ -612,16 +612,17 @@ utomaton +* which c @@ -915,18 +915,60 @@ f si -ngle +mple single-purpose computation units (called cells +) tha @@ -1049,16 +1049,48 @@ ormation +, their private, **local state** - the s @@ -1097,19 +1097,21 @@ tate of -its +their neighbo @@ -1123,18 +1123,142 @@ his -concept of +last part sets them apart from Turing machines which can and do refer to the **global state**. %0A%0AThis concept of locality - the cell's %22ne @@ -2073,16 +2073,81 @@ at once +, because they do not rely on or change shared global information . With t @@ -2177,16 +2177,30 @@ Cs this +computational paradigm
json metadata{"tags":["excel","computation","cellular","automata","complexity"],"image":["https://steemitimages.com/DQmawZhisHS9NaDbfDx5ppQ8DsprFPUGt4T7Rp13rdQYt4B/CA-6.png","https://steemitimages.com/DQmbUGTwk3B5SLwBf45WCSrHBnEYXNZvy7kqzi645RqFZfg/CA-1.png","https://steemitimages.com/DQmeAk94oZc7pBusgj9M3eKJGigb1oo6irU2UTfuxNNND5t/CA-2.png","https://upload.wikimedia.org/wikipedia/commons/thumb/2/24/Red_cylinder.svg/1136px-Red_cylinder.svg.png","https://steemitimages.com/DQmdkLgAXw1X8j2MLu6B95QYA2FCX7CDZosDqeZpRmtawxR/CA-3.png","https://steemitimages.com/DQmYcV7uVFRY9YfactHYiKs5SD31UCmHDB1UtU9iEguziDj/CA-4.png","https://steemitimages.com/DQmfCZn6uBsnxQG6PC3FUxWYQGEYyiX9MfsR1a1A5v4xnr3/CA-5.png","https://steemitimages.com/DQmXfjWhoqyh2Lnm6y6of6s6twXQDqYw6bqpStzXsAS9cB5/CA-7.png","https://steemitimages.com/DQmRNmDe2vQMdQyRZVNYh1VzWNZRRCfp2vxHC7HS4KCtfcv/CA-8.png","https://steemitimages.com/DQmZMZoh4TXRcWB6cxyNYbChFVHfYeq3rWVWEnHN9UiBQaZ/CA-9.png","https://steemitimages.com/DQmbxKYovDwJwFCtyHCjLapM3QLJs1mjzb1uSRLjHqtkRwK/CA-10.png","https://steemitimages.com/DQmR4cMYHh3Dv9HBkJj5JhETy7no3aW1SS3yDwJRQppnJMu/CA-11.png","https://steemitimages.com/DQmaPtxXctYKpd5GbuidNiZoj9HHDSFp8r392EbNboVoYpZ/CA-12.png","https://steemitimages.com/DQmXVKz11zUBum5dFqhffok9L1D4D7QrxEwG3yDeAD9qH2x/CA-13.png"],"app":"steemit/0.1","format":"markdown"}
parent author
parent permlinkexcel
permlinkcellular-automata-via-excel
titleCellular Automata via Excel
Transaction InfoBlock #22555138/Trx d27a8b18708702ed589cd32215e37345fadb2386
View Raw JSON Data
{
  "block": 22555138,
  "op": [
    "comment",
    {
      "author": "derza",
      "body": "@@ -578,24 +578,25 @@\n tomaton, an \n+*\n elementary c\n@@ -612,16 +612,17 @@\n utomaton\n+*\n  which c\n@@ -915,18 +915,60 @@\n f si\n-ngle\n+mple single-purpose computation units (called\n  cells\n+)\n  tha\n@@ -1049,16 +1049,48 @@\n ormation\n+, their private, **local state**\n  - the s\n@@ -1097,19 +1097,21 @@\n tate of \n-its\n+their\n  neighbo\n@@ -1123,18 +1123,142 @@\n his \n-concept of\n+last part sets them apart from Turing machines which can and do refer to the **global state**. %0A%0AThis concept of locality - the cell's\n  %22ne\n@@ -2073,16 +2073,81 @@\n  at once\n+, because they do not rely on or change shared global information\n . With t\n@@ -2177,16 +2177,30 @@\n Cs this \n+computational \n paradigm\n",
      "json_metadata": "{\"tags\":[\"excel\",\"computation\",\"cellular\",\"automata\",\"complexity\"],\"image\":[\"https://steemitimages.com/DQmawZhisHS9NaDbfDx5ppQ8DsprFPUGt4T7Rp13rdQYt4B/CA-6.png\",\"https://steemitimages.com/DQmbUGTwk3B5SLwBf45WCSrHBnEYXNZvy7kqzi645RqFZfg/CA-1.png\",\"https://steemitimages.com/DQmeAk94oZc7pBusgj9M3eKJGigb1oo6irU2UTfuxNNND5t/CA-2.png\",\"https://upload.wikimedia.org/wikipedia/commons/thumb/2/24/Red_cylinder.svg/1136px-Red_cylinder.svg.png\",\"https://steemitimages.com/DQmdkLgAXw1X8j2MLu6B95QYA2FCX7CDZosDqeZpRmtawxR/CA-3.png\",\"https://steemitimages.com/DQmYcV7uVFRY9YfactHYiKs5SD31UCmHDB1UtU9iEguziDj/CA-4.png\",\"https://steemitimages.com/DQmfCZn6uBsnxQG6PC3FUxWYQGEYyiX9MfsR1a1A5v4xnr3/CA-5.png\",\"https://steemitimages.com/DQmXfjWhoqyh2Lnm6y6of6s6twXQDqYw6bqpStzXsAS9cB5/CA-7.png\",\"https://steemitimages.com/DQmRNmDe2vQMdQyRZVNYh1VzWNZRRCfp2vxHC7HS4KCtfcv/CA-8.png\",\"https://steemitimages.com/DQmZMZoh4TXRcWB6cxyNYbChFVHfYeq3rWVWEnHN9UiBQaZ/CA-9.png\",\"https://steemitimages.com/DQmbxKYovDwJwFCtyHCjLapM3QLJs1mjzb1uSRLjHqtkRwK/CA-10.png\",\"https://steemitimages.com/DQmR4cMYHh3Dv9HBkJj5JhETy7no3aW1SS3yDwJRQppnJMu/CA-11.png\",\"https://steemitimages.com/DQmaPtxXctYKpd5GbuidNiZoj9HHDSFp8r392EbNboVoYpZ/CA-12.png\",\"https://steemitimages.com/DQmXVKz11zUBum5dFqhffok9L1D4D7QrxEwG3yDeAD9qH2x/CA-13.png\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}",
      "parent_author": "",
      "parent_permlink": "excel",
      "permlink": "cellular-automata-via-excel",
      "title": "Cellular Automata via Excel"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-19T02:42:27",
  "trx_id": "d27a8b18708702ed589cd32215e37345fadb2386",
  "trx_in_block": 22,
  "virtual_op": 0
}
2018/05/18 19:53:09
authorderza
permlinkcellular-automata-via-excel
votersensation
weight10000 (100.00%)
Transaction InfoBlock #22546954/Trx fee270508f7c201f6f1599f3e160a50a560f6ff0
View Raw JSON Data
{
  "block": 22546954,
  "op": [
    "vote",
    {
      "author": "derza",
      "permlink": "cellular-automata-via-excel",
      "voter": "sensation",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-18T19:53:09",
  "trx_id": "fee270508f7c201f6f1599f3e160a50a560f6ff0",
  "trx_in_block": 0,
  "virtual_op": 0
}
2018/05/18 19:43:30
authorderza
permlinkcellular-automata-via-excel
votermoby-dick
weight10000 (100.00%)
Transaction InfoBlock #22546762/Trx 436be7a8a6fb50d47c819f0432d3854e38d93720
View Raw JSON Data
{
  "block": 22546762,
  "op": [
    "vote",
    {
      "author": "derza",
      "permlink": "cellular-automata-via-excel",
      "voter": "moby-dick",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-18T19:43:30",
  "trx_id": "436be7a8a6fb50d47c819f0432d3854e38d93720",
  "trx_in_block": 31,
  "virtual_op": 0
}
derzapublished a new post: cellular-automata-via-excel
2018/05/18 19:17:33
authorderza
body@@ -5558,21 +5558,17 @@ end).%0A%0A -%0A&gt; +%3E A1 - ty @@ -5620,21 +5620,17 @@ of 2)%22.%0A -%0A&gt; +%3E B1 - ty @@ -5639,21 +5639,17 @@ in %221%22%0A -%0A&gt; +%3E C1 - ty @@ -5683,21 +5683,17 @@ pe %22*2%22%0A -%0A&gt; +%3E Use the @@ -6219,21 +6219,17 @@ oing.%0A%0A%0A -%0A&gt; +%3E A2 - ty @@ -6259,21 +6259,17 @@ 1*2-1)%22%0A -%0A&gt; +%3E A3 - ty @@ -6298,21 +6298,17 @@ itmask%22%0A -%0A&gt; +%3E B3 - ty @@ -6343,21 +6343,17 @@ 1,1,0)%22%0A -%0A&gt; +%3E Use the @@ -7546,20 +7546,17 @@ tive.%0A%0A%0A -&gt; +%3E Right-c @@ -7639,21 +7639,17 @@ set up%0A -%0A&gt; +%3E Select @@ -7774,21 +7774,17 @@ related%0A -%0A&gt; +%3E Select @@ -7972,20 +7972,17 @@ Pic.4%0A%0A%0A -&gt; +%3E Click o @@ -7994,21 +7994,17 @@ w Rule%22%0A -%0A&gt; +%3E Select @@ -8051,21 +8051,17 @@ ontain%22%0A -%0A&gt; +%3E Set the @@ -8103,21 +8103,17 @@ o%22, %220%22%0A -%0A&gt; +%3E Click o @@ -8208,22 +8208,17 @@ ammed)%0A%0A -%0A%0A&gt; +%3E Repeat @@ -8309,21 +8309,17 @@ jammed.%0A -%0A&gt; +%3E Click %22 @@ -8632,20 +8632,18 @@ c. 5%0A%0A%0A%0A -&gt; +%3E Click %22O @@ -8785,20 +8785,17 @@ 184.%0A%0A%0A%0A -&gt; +%3E C4 (thi @@ -9004,21 +9004,17 @@ ),1,0)%22%0A -%0A&gt; +%3E Select @@ -9680,22 +9680,17 @@ cells.%0A%0A -%0A%0A&gt; +%3E B4 - ty @@ -9790,23 +9790,17 @@ ),1,0)%22%0A -%0A%0A%0A&gt; +%3E N4 - ty @@ -9902,17 +9902,16 @@ 1,0)%22%0A%0A%0A -%0A Do you s @@ -10356,18 +10356,16 @@ re us.%0A%0A -%0A%0A Now that @@ -10543,29 +10543,25 @@ g too :).%0A%0A%0A -%0A&gt; +%3E Select cell @@ -10656,21 +10656,17 @@ to N103%0A -%0A&gt; +%3E O4 - ty @@ -10720,21 +10720,17 @@ ntents.%0A -%0A&gt; +%3E O5 - ty @@ -10739,21 +10739,17 @@ in %221%22%0A -%0A&gt; +%3E O6 - ty @@ -10997,21 +10997,17 @@ cells.%0A -%0A&gt; +%3E Place c @@ -12166,18 +12166,16 @@ rable.%0A%0A -%0A%0A Let's go @@ -12185,22 +12185,18 @@ work!%0A%0A -%0A%0A&gt; +%3E P3 - typ @@ -12215,21 +12215,18 @@ c jams%22%0A -%0A&gt; +%3E Q3 - typ @@ -12243,21 +12243,18 @@ ughput%22%0A -%0A&gt; +%3E R3 - typ @@ -12274,21 +12274,17 @@ ration%22%0A -%0A&gt; +%3E P4 type @@ -12450,22 +12450,17 @@ ,N4))%22%0A%0A -%0A%0A&gt; +%3E Q4 type @@ -12486,21 +12486,17 @@ ,%22=1%22)%22%0A -%0A&gt; +%3E R4 type @@ -12530,21 +12530,17 @@ B4:N4)%22%0A -%0A&gt; +%3E Select @@ -12649,21 +12649,17 @@ ow 103.%0A -%0A&gt; +%3E P105 - @@ -12750,21 +12750,17 @@ P4:P104%0A -%0A&gt; +%3E Q106- s @@ -12836,21 +12836,17 @@ Q4:Q105%0A -%0A&gt; +%3E B105 - @@ -12921,21 +12921,17 @@ border.%0A -%0A&gt; +%3E B106 - @@ -13019,17 +13019,16 @@ rder.%0A%0A%0A -%0A What is @@ -13477,18 +13477,16 @@ or 1.%0A%0A -%0A%0A Now let' @@ -13522,22 +13522,17 @@ model.%0A%0A -%0A%0A&gt; +%3E Select @@ -14015,20 +14015,17 @@ Pic.7%0A%0A%0A -&gt; +%3E Select @@ -15148,20 +15148,17 @@ rst.%0A%0A%0A%0A -&gt; +%3E B107 - @@ -15184,21 +15184,17 @@ nction%22%0A -%0A&gt; +%3E R107 - @@ -15225,21 +15225,17 @@ 5,1.5)%22%0A -%0A&gt; +%3E B108 - @@ -15256,21 +15256,17 @@ Value%22%0A -%0A&gt; +%3E C108- t @@ -15278,13 +15278,9 @@ n 0%0A -%0A&gt; +%3E A2
json metadata{"tags":["excel","computation","cellular","automata","complexity"],"image":["https://steemitimages.com/DQmawZhisHS9NaDbfDx5ppQ8DsprFPUGt4T7Rp13rdQYt4B/CA-6.png","https://steemitimages.com/DQmbUGTwk3B5SLwBf45WCSrHBnEYXNZvy7kqzi645RqFZfg/CA-1.png","https://steemitimages.com/DQmeAk94oZc7pBusgj9M3eKJGigb1oo6irU2UTfuxNNND5t/CA-2.png","https://upload.wikimedia.org/wikipedia/commons/thumb/2/24/Red_cylinder.svg/1136px-Red_cylinder.svg.png","https://steemitimages.com/DQmdkLgAXw1X8j2MLu6B95QYA2FCX7CDZosDqeZpRmtawxR/CA-3.png","https://steemitimages.com/DQmYcV7uVFRY9YfactHYiKs5SD31UCmHDB1UtU9iEguziDj/CA-4.png","https://steemitimages.com/DQmfCZn6uBsnxQG6PC3FUxWYQGEYyiX9MfsR1a1A5v4xnr3/CA-5.png","https://steemitimages.com/DQmXfjWhoqyh2Lnm6y6of6s6twXQDqYw6bqpStzXsAS9cB5/CA-7.png","https://steemitimages.com/DQmRNmDe2vQMdQyRZVNYh1VzWNZRRCfp2vxHC7HS4KCtfcv/CA-8.png","https://steemitimages.com/DQmZMZoh4TXRcWB6cxyNYbChFVHfYeq3rWVWEnHN9UiBQaZ/CA-9.png","https://steemitimages.com/DQmbxKYovDwJwFCtyHCjLapM3QLJs1mjzb1uSRLjHqtkRwK/CA-10.png","https://steemitimages.com/DQmR4cMYHh3Dv9HBkJj5JhETy7no3aW1SS3yDwJRQppnJMu/CA-11.png","https://steemitimages.com/DQmaPtxXctYKpd5GbuidNiZoj9HHDSFp8r392EbNboVoYpZ/CA-12.png","https://steemitimages.com/DQmXVKz11zUBum5dFqhffok9L1D4D7QrxEwG3yDeAD9qH2x/CA-13.png"],"app":"steemit/0.1","format":"markdown"}
parent author
parent permlinkexcel
permlinkcellular-automata-via-excel
titleCellular Automata via Excel
Transaction InfoBlock #22546243/Trx cdac289e62ec6e9e49831e3037a00af512b30fc5
View Raw JSON Data
{
  "block": 22546243,
  "op": [
    "comment",
    {
      "author": "derza",
      "body": "@@ -5558,21 +5558,17 @@\n  end).%0A%0A\n-%0A&gt;\n+%3E\n  A1 - ty\n@@ -5620,21 +5620,17 @@\n of 2)%22.%0A\n-%0A&gt;\n+%3E\n  B1 - ty\n@@ -5639,21 +5639,17 @@\n  in %221%22%0A\n-%0A&gt;\n+%3E\n  C1 - ty\n@@ -5683,21 +5683,17 @@\n pe %22*2%22%0A\n-%0A&gt;\n+%3E\n  Use the\n@@ -6219,21 +6219,17 @@\n oing.%0A%0A%0A\n-%0A&gt;\n+%3E\n  A2 - ty\n@@ -6259,21 +6259,17 @@\n 1*2-1)%22%0A\n-%0A&gt;\n+%3E\n  A3 - ty\n@@ -6298,21 +6298,17 @@\n itmask%22%0A\n-%0A&gt;\n+%3E\n  B3 - ty\n@@ -6343,21 +6343,17 @@\n 1,1,0)%22%0A\n-%0A&gt;\n+%3E\n  Use the\n@@ -7546,20 +7546,17 @@\n tive.%0A%0A%0A\n-&gt;\n+%3E\n  Right-c\n@@ -7639,21 +7639,17 @@\n  set up%0A\n-%0A&gt;\n+%3E\n  Select \n@@ -7774,21 +7774,17 @@\n related%0A\n-%0A&gt;\n+%3E\n  Select \n@@ -7972,20 +7972,17 @@\n Pic.4%0A%0A%0A\n-&gt;\n+%3E\n  Click o\n@@ -7994,21 +7994,17 @@\n w Rule%22%0A\n-%0A&gt;\n+%3E\n  Select \n@@ -8051,21 +8051,17 @@\n ontain%22%0A\n-%0A&gt;\n+%3E\n  Set the\n@@ -8103,21 +8103,17 @@\n o%22, %220%22%0A\n-%0A&gt;\n+%3E\n  Click o\n@@ -8208,22 +8208,17 @@\n ammed)%0A%0A\n-%0A%0A&gt;\n+%3E\n  Repeat \n@@ -8309,21 +8309,17 @@\n jammed.%0A\n-%0A&gt;\n+%3E\n  Click %22\n@@ -8632,20 +8632,18 @@\n c. 5%0A%0A%0A%0A\n-&gt;\n+%3E \n Click %22O\n@@ -8785,20 +8785,17 @@\n 184.%0A%0A%0A%0A\n-&gt;\n+%3E\n  C4 (thi\n@@ -9004,21 +9004,17 @@\n ),1,0)%22%0A\n-%0A&gt;\n+%3E\n  Select \n@@ -9680,22 +9680,17 @@\n cells.%0A%0A\n-%0A%0A&gt;\n+%3E\n  B4 - ty\n@@ -9790,23 +9790,17 @@\n ),1,0)%22%0A\n-%0A%0A%0A&gt;\n+%3E\n  N4 - ty\n@@ -9902,17 +9902,16 @@\n 1,0)%22%0A%0A%0A\n-%0A\n Do you s\n@@ -10356,18 +10356,16 @@\n re us.%0A%0A\n-%0A%0A\n Now that\n@@ -10543,29 +10543,25 @@\n g too :).%0A%0A%0A\n-%0A&gt;\n+%3E\n  Select cell\n@@ -10656,21 +10656,17 @@\n to N103%0A\n-%0A&gt;\n+%3E\n  O4 - ty\n@@ -10720,21 +10720,17 @@\n ntents.%0A\n-%0A&gt;\n+%3E\n  O5 - ty\n@@ -10739,21 +10739,17 @@\n  in %221%22%0A\n-%0A&gt;\n+%3E\n  O6 - ty\n@@ -10997,21 +10997,17 @@\n  cells.%0A\n-%0A&gt;\n+%3E\n  Place c\n@@ -12166,18 +12166,16 @@\n rable.%0A%0A\n-%0A%0A\n Let's go\n@@ -12185,22 +12185,18 @@\n  work!%0A%0A\n-%0A%0A&gt;\n+%3E \n P3 - typ\n@@ -12215,21 +12215,18 @@\n c jams%22%0A\n-%0A&gt;\n+%3E \n Q3 - typ\n@@ -12243,21 +12243,18 @@\n ughput%22%0A\n-%0A&gt;\n+%3E \n R3 - typ\n@@ -12274,21 +12274,17 @@\n ration%22%0A\n-%0A&gt;\n+%3E\n  P4 type\n@@ -12450,22 +12450,17 @@\n ,N4))%22%0A%0A\n-%0A%0A&gt;\n+%3E\n  Q4 type\n@@ -12486,21 +12486,17 @@\n ,%22=1%22)%22%0A\n-%0A&gt;\n+%3E\n  R4 type\n@@ -12530,21 +12530,17 @@\n B4:N4)%22%0A\n-%0A&gt;\n+%3E\n  Select \n@@ -12649,21 +12649,17 @@\n ow 103.%0A\n-%0A&gt;\n+%3E\n  P105 - \n@@ -12750,21 +12750,17 @@\n P4:P104%0A\n-%0A&gt;\n+%3E\n  Q106- s\n@@ -12836,21 +12836,17 @@\n Q4:Q105%0A\n-%0A&gt;\n+%3E\n  B105  -\n@@ -12921,21 +12921,17 @@\n border.%0A\n-%0A&gt;\n+%3E\n  B106 - \n@@ -13019,17 +13019,16 @@\n rder.%0A%0A%0A\n-%0A\n What is \n@@ -13477,18 +13477,16 @@\n  or 1.%0A%0A\n-%0A%0A\n Now let'\n@@ -13522,22 +13522,17 @@\n model.%0A%0A\n-%0A%0A&gt;\n+%3E\n  Select \n@@ -14015,20 +14015,17 @@\n Pic.7%0A%0A%0A\n-&gt;\n+%3E\n  Select \n@@ -15148,20 +15148,17 @@\n rst.%0A%0A%0A%0A\n-&gt;\n+%3E\n  B107 - \n@@ -15184,21 +15184,17 @@\n nction%22%0A\n-%0A&gt;\n+%3E\n  R107 - \n@@ -15225,21 +15225,17 @@\n 5,1.5)%22%0A\n-%0A&gt;\n+%3E\n  B108 - \n@@ -15256,21 +15256,17 @@\n  Value%22%0A\n-%0A&gt;\n+%3E\n  C108- t\n@@ -15278,13 +15278,9 @@\n n 0%0A\n-%0A&gt;\n+%3E\n  A2 \n",
      "json_metadata": "{\"tags\":[\"excel\",\"computation\",\"cellular\",\"automata\",\"complexity\"],\"image\":[\"https://steemitimages.com/DQmawZhisHS9NaDbfDx5ppQ8DsprFPUGt4T7Rp13rdQYt4B/CA-6.png\",\"https://steemitimages.com/DQmbUGTwk3B5SLwBf45WCSrHBnEYXNZvy7kqzi645RqFZfg/CA-1.png\",\"https://steemitimages.com/DQmeAk94oZc7pBusgj9M3eKJGigb1oo6irU2UTfuxNNND5t/CA-2.png\",\"https://upload.wikimedia.org/wikipedia/commons/thumb/2/24/Red_cylinder.svg/1136px-Red_cylinder.svg.png\",\"https://steemitimages.com/DQmdkLgAXw1X8j2MLu6B95QYA2FCX7CDZosDqeZpRmtawxR/CA-3.png\",\"https://steemitimages.com/DQmYcV7uVFRY9YfactHYiKs5SD31UCmHDB1UtU9iEguziDj/CA-4.png\",\"https://steemitimages.com/DQmfCZn6uBsnxQG6PC3FUxWYQGEYyiX9MfsR1a1A5v4xnr3/CA-5.png\",\"https://steemitimages.com/DQmXfjWhoqyh2Lnm6y6of6s6twXQDqYw6bqpStzXsAS9cB5/CA-7.png\",\"https://steemitimages.com/DQmRNmDe2vQMdQyRZVNYh1VzWNZRRCfp2vxHC7HS4KCtfcv/CA-8.png\",\"https://steemitimages.com/DQmZMZoh4TXRcWB6cxyNYbChFVHfYeq3rWVWEnHN9UiBQaZ/CA-9.png\",\"https://steemitimages.com/DQmbxKYovDwJwFCtyHCjLapM3QLJs1mjzb1uSRLjHqtkRwK/CA-10.png\",\"https://steemitimages.com/DQmR4cMYHh3Dv9HBkJj5JhETy7no3aW1SS3yDwJRQppnJMu/CA-11.png\",\"https://steemitimages.com/DQmaPtxXctYKpd5GbuidNiZoj9HHDSFp8r392EbNboVoYpZ/CA-12.png\",\"https://steemitimages.com/DQmXVKz11zUBum5dFqhffok9L1D4D7QrxEwG3yDeAD9qH2x/CA-13.png\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}",
      "parent_author": "",
      "parent_permlink": "excel",
      "permlink": "cellular-automata-via-excel",
      "title": "Cellular Automata via Excel"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-18T19:17:33",
  "trx_id": "cdac289e62ec6e9e49831e3037a00af512b30fc5",
  "trx_in_block": 35,
  "virtual_op": 0
}
2018/05/18 19:10:03
authorderza
permlinkcellular-automata-via-excel
voterdasvinni
weight10000 (100.00%)
Transaction InfoBlock #22546093/Trx be6ed595a2eca6465a3cfe55cb1064f89a7f810e
View Raw JSON Data
{
  "block": 22546093,
  "op": [
    "vote",
    {
      "author": "derza",
      "permlink": "cellular-automata-via-excel",
      "voter": "dasvinni",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-18T19:10:03",
  "trx_id": "be6ed595a2eca6465a3cfe55cb1064f89a7f810e",
  "trx_in_block": 19,
  "virtual_op": 0
}
derzapublished a new post: cellular-automata-via-excel
2018/05/18 19:08:33
authorderza
bodyCellular automata are an important computational and modeling tool in studying highly complex, nonlinear phenomena. While they were first formalized in the 1940s by John von Neumann (as an alternative computational model to the famous Turing machine described by Alan Turing), their prolific use can be dated to the much more recent work of Stephen Wolfram - the creator of the Mathematica programming language and Wolfram Alpha platform, particularly to his book A New Kind of Science , published in 2002. In this post we will be exploring a very simple kind of cellular automaton, an elementary cellular automaton which consists of a single row of cells (as opposed to a grid of cells, which is the typical setup of a cellular automaton). Surprisingly, even this simple "elementary" automaton can do a lot - as we will see in due course. So, what is a cellular automaton? In a nutshell it is a collection of single cells that "compute" their next state (aka configuration) based only on "local" information - the state of its neighbors. This concept of "neighborhood" is crucial in grasping how cellular automata work. In the case of a 1-dimensional elementary cellular automaton (a single row of cells), the neighborhood of a cell is comprised of 3 cells - the cell itself and the immediate adjacent cells to the left and to the right. If we think of a 2-D cellular automaton (a grid of cells), we have up to 9 neighbors - 3 above, 3 below and 3 on the same level (see pic.0). Can you think of how many neighbors a 3-D cellular automata could have? ![CA-6.png](https://steemitimages.com/DQmawZhisHS9NaDbfDx5ppQ8DsprFPUGt4T7Rp13rdQYt4B/CA-6.png) Pic. 0 The cellular automaton model of computation has some profound advantages over the Turning model because calculations can be done in a massively parallel fashion - all the cells can be computing their state all at once. With the rise of multi-core PCs this paradigm is becoming increasingly dominant. Incidentally, this is exactly how biological systems and other real life systems function - brains, electrical pathways, spread of contagious diseases, population growth, etc. Thus, it makes sense to use computation methods that mimic the phenomena themselves. Enough theory, let's look at an example! ![CA-1.png](https://steemitimages.com/DQmbUGTwk3B5SLwBf45WCSrHBnEYXNZvy7kqzi645RqFZfg/CA-1.png) Pic. 1 What we see here is an elementary 1-dimensional 9-cell CA (that's the abbreviation we'll be using from now on for cellular automaton) with a certain state (configuration ) at time 1. What happens at time =2 ? Well, that depends on the "rules" that govern a given CA. A particular rule that we will be implementing in Excel is called "rule 184" and it is described as follows: | current pattern | 111 | 110 | 101 | 100 | 011| 010 | 001| 000| |--------------------- |------|------|------|------|-----|-------|-----|------| | new state for center cell | 1 | 0| 1 | 1 | 1 | 0 | 0 | 0| So, how does this work? Let's look at current pattern "110" (the highlighted one). What this rule is saying is that if the cell's current state is 1 and it's left neighbor's state is also 1, but it's left neighbor's state is 0, then its next state will be 0. See if you can apply this rule to the sample CA (pic.1), omitting the leftmost and rightmost cells (we will deal with them in a moment). Did you get something like this (pic.2)? ![CA-2.png](https://steemitimages.com/DQmeAk94oZc7pBusgj9M3eKJGigb1oo6irU2UTfuxNNND5t/CA-2.png) Pic.2 As you can see, we have omitted the rightmost and leftmost cells because it is not immediately clear where we get the values of their left and right neighboring cells - since they are located on the edges. There are several options. One is to consider the CA as wrapping around on itself, in which case the rightmost cell's right neighbor is the leftmost cell and the leftmost cell's right neighbor is the rightmost cell. Another option is to use the value of "0" for missing cells. Finally, one can apply a special rule for those cells. We will go with the first option because it actually models our real-life phenomenon more accurately. Thus, you could think of the CA as a cylinder with no edges. ![red-cylinder.png width=600](https://upload.wikimedia.org/wikipedia/commons/thumb/2/24/Red_cylinder.svg/1136px-Red_cylinder.svg.png) Thus, the value of the leftmost cell comes from configuration 000 resulting in 0, and the rightmost 100, resulting in 1. The final result is shown below (pic.3): ![CA-3.png](https://steemitimages.com/DQmdkLgAXw1X8j2MLu6B95QYA2FCX7CDZosDqeZpRmtawxR/CA-3.png) Pic.3 OK, so hopefully this intro was sufficient to get the basic ideas across; now let's build something useful. We are going to be using "Rule 184" because it is actually based on a real-life phenomenon of streaming motion, particularly applicable to things like traffic. What we want to model is a junction that allows cars to enter an circular lane with 13 exit points such that we minimize possible jams. We want to figure out a dynamic "stop" light that will allow maximum cars to enter the circular lane with minimum number of possible jams. In order to do that we will assume that all the cars will only use the last exit, thus creating the worst possible scenario. Amazingly, this elementary CA that uses Rule 184 will allow us to successfully solve this rather tricky problem. So, let's fire up Excel and get to work! (Place the cursor in each cell mentioned in the beginning of the instruction, follow the instructions and then press Enter at the end). &gt; A1 - type in "Bitmask values", ALT-Enter , "(powers of 2)". &gt; B1 - type in "1" &gt; C1 - type in "=", select B1 and type "*2" &gt; Use the mouse to select the lower right hand cross-hair of C1 and drag it across to N1. You should now have a series ranging from 1 to 4096. We are going to use this top row to assign a numeric value to each CA configuration, as well as load our initial configuration, using something called a bitmask. Bitmasks are super easy as we'll see in a minute. (If you are savvy at math you have already figured out that this simple trick allows us to enumerate up to 2^13 or 2*4096-1 configurations. Not bad!) Anyway, let's keep going. &gt; A2 - type in "=RANDBETWEEN(0,N1*2-1)" &gt; A3 - type in "Initial state bitmask" &gt; B3 - type in "=IF(BITAND(B1,$A$2)=B1,1,0)" &gt; Use the mouse to select the lower right hand cross-hair of B3 and drag it across to N3 OK, so what have we gotten here? The RANDBETWEEN function will give us a new random value for our trial runs - a way to simulate random traffic condition. What we do next is translate that number into something our CA can understand - 0s and 1s. To do that we use BITAND function which takes a random number and "ANDs" it with a given power of 2 (producing a binary bitmask of the random number). If the result contains the number we are ANDing with, then we use IF function to output 1, otherwise - 0. You can get some intuition about how that works by just typing some numbers in cell A2. If you type any number that's a power of 2, like say 64, your bitmask will be all zeroes except for the column that corresponds to 64. If you type 69, columns B, D and H will have 1s, while all the others will be zeroes (because 69 = 1+4+64). In short, what we have gotten so far is the initial state for our CA to operate on in succession. Now, we are going to actually encode the "Rule 184" and get the show on the road! But, first let's add a bit of formatting to make the model a bit more visually intuitive. &gt; Right-click on row 1 and click on "Hide" - we don't really need to see it once it's set up &gt; Select A2 and A3 and use Excel's Input automatic highlighting to show that these are inputs into the formula and are in fact related &gt; Select B3 through N3. Click on "Conditional Formatting" and select "Manage Rules". (pic 4) ![CA-4.png](https://steemitimages.com/DQmYcV7uVFRY9YfactHYiKs5SD31UCmHDB1UtU9iEguziDj/CA-4.png) Pic.4 &gt; Click on "New Rule" &gt; Select a rule type of "Format only cells that contain" &gt; Set the options to "Cell value", "equals to", "0" &gt; Click on "Format" and choose some greenish color (0 means that the spot is empty, so it's not jammed) &gt; Repeat the steps above only choose "1" for value and some reddish color for cells that are jammed. &gt; Click "OK". If you want to add additional pizzazz, add a rule of type "Format all cells based on their values", in the format styles drop-down select "Icons sets" and set the options as pictured below (pic. 5): ![CA-5.png](https://steemitimages.com/DQmfCZn6uBsnxQG6PC3FUxWYQGEYyiX9MfsR1a1A5v4xnr3/CA-5.png) Pic. 5 &gt;Click "OK". This will add cool little traffic lights to your model. Well, that was fun, but let's get back to our CA and implementing rule 184. &gt; C4 (this should be right below the second leftmost cell containing the first bit of the original configuration) - type in "=IF(OR(AND(B3=1,C3=1,D3=1),AND(B3=1,C3=0,D3=1),AND(B3=1,C3=0,D3=0),AND(B3=0,C3=1,D3=1)),1,0)" &gt; Select the cross hairs of cell C4 and drag it to M4 (notice we are omitting the edge cells because the logic has to be a little different to accommodate the same rule). This formula should make some intuitive sense - if we are in C4 , our previous state was in C3 and therefore our neighborhood is made up of B3, C3 and D3 - the values that our CA is examining. It is a good idea at this point to go back to the definition of rule 184 and do some quick spot checking to make sure our CA is working properly. Find a few patterns and make sure that the resulting computed value is correct. After verifying that everything looks good, let's finish up with the edge cells. &gt; B4 - type in "=IF(OR(AND(N3=1,B3=1,C3=1),AND(N3=1,B3=0,C3=1),AND(N3=1,B3=0,C3=0),AND(N3=0,B3=1,C3=1)),1,0)" &gt; N4 - type in "=IF(OR(AND(M3=1,N3=1,B3=1),AND(M3=1,N3=0,B3=1),AND(M3=1,N3=0,B3=0),AND(M3=0,N3=1,B3=1)),1,0)" Do you see what we are doing here? In the first case we use the last cell of the previous row as our leftmost neighbor and in the other case we use the first cell of the previous row as our rightmost neighbor. Does it make sense in light of our modeling of traffic flow? When you think about it, yes, it does - because the flow is continuous, just like a surface of a cylinder, and we expect the same pattern to surround us both in front and before us. Now that we have our first CA computation let's copy it down so we can see how a lane will operate after N iterations. How many do you want to do? A 100? That's what I was thinking too :). &gt; Select cells B4 through N4; use the mouse cursor to select the cross hairs of N4 and drag it down to N103 &gt; O4 - type in "iteration#". Press Ctrl+B to bold the contents. &gt; O5 - type in "1" &gt; O6 - type in "=O5+1". Select the cross hairs of O6 and double-click - this will propagate the formula down to row 103. We now have 100 iterations of CA model. Highlight cells O4-O103 and use light yellow color to format them differently from the CA cells. &gt; Place cursor in B1. Click on the "Format Painter" brush and select all the CA cells - the range B4:O103. Your screen should looks something like the following (pic. 6) ![CA-7.png](https://steemitimages.com/DQmXfjWhoqyh2Lnm6y6of6s6twXQDqYw6bqpStzXsAS9cB5/CA-7.png) Pic. 6 Obviously, the number in A2 is random, so it will be different from the one you see here. You can press F9 repeatedly to see how the screen changes with a different configuration. OK, so what's next? Well, now we want to have some way to quantify the effectiveness of each configuration. To do that we will introduce two metrics - the # of cars (throughput) and the number of car jams. For each row in CA the number of cars is simply the number of cells with a value of 1. The number of car jams will be the number of adjacent 1's. We also want to keep track of how configurations change - their periodicity. This is important, because we want to favor a stable configuration that tends to return quickly to its starting point. Something that's highly unpredictable will have a period approaching the total # of possible configurations (8191 in this case) and that is not very desirable. Let's go to work! &gt;P3 - type in "Traffic jams" &gt;Q3 - type in "Throughput" &gt;R3 - type in "Configuration" &gt; P4 type in "=SUM(BITAND(B4,C4),BITAND(C4,D4),BITAND(D4,E4),BITAND(E4,F4),BITAND(F4,G4),BITAND(G4,H4),BITAND(H4,I4),BITAND(J4,K4),BITAND(K4,L4),BITAND(L4,M4),BITAND(M4,N4))" &gt; Q4 type in "=COUNTIF(B4:N4,"=1")" &gt; R4 type in "=SUMPRODUCT($B$1:$N$1,B4:N4)" &gt; Select cells P4 through R4 and double click on the cross hairs of R4. This should copy the formulas down to row 103. &gt; P105 - on the Home tab of Excel click on Auto-Sum and select "sum". It should sum up cells P4:P104 &gt; Q106- similarly, click on Auto-Sum and select "sum". It should sum up cells Q4:Q105 &gt; B105 - type in "Total jams". Select cells B105:P105 and add a thin bottom border. &gt; B106 - type in "Total througput (cars)". Select cells B106:Q106 and add a thin bottom border. What is going on here? We are using BITAND function again to see if two adjacent cells have 1's in them; if they do - BITAND returns 1, otherwise it returns 0. Summing all the results gives us the total # of car jams. Throughput is even easier - we use COUNTIF to count all the cells that have 1 in them. R4 essentially converts the binary bitmask of each row to a decimal number by multiplying the hidden row of powers of two by the corresponding 0 or 1. Now let's add a visualization of our model. &gt; Select cells P3:R103. Click on Insert tab in Excel menu. Select "Line Chart" and "Line Chart with Markers" in the submenu. You will notice that the configuration line obscures the traffic jams and throughput lines, so we'll graph it on a separately scaled axis. Double click on the line representing the configuration. You should see something similar to the screenshot below (pic. 7). ![CA-8.png](https://steemitimages.com/DQmRNmDe2vQMdQyRZVNYh1VzWNZRRCfp2vxHC7HS4KCtfcv/CA-8.png) Pic.7 &gt; Select "Secondary axis". Format the line so it uses a different dash type and has smaller thickness. Add axis titles - "# of cars/car jams" to the primary vertical axis and "config #" to the secondary vertical axis. (You can do this by double-clicking on the graph and then selecting a menu from the "Add Chart Element" in the top left corner of Excel window). Change graph title to "CA Traffic Model". Your graph should resemble pic.8 below. ![CA-9.png](https://steemitimages.com/DQmZMZoh4TXRcWB6cxyNYbChFVHfYeq3rWVWEnHN9UiBQaZ/CA-9.png) Pic.8 Press F9 repeatedly to see how the graph changes with a different starting configuration. Do you see data that's more or less periodic? Well, I guess we could just stop here and let you press F9 while keeping an eye on the total # of cars that passed through vs. total number of jams - until your fingers would go completely numb. Thankfully, there is a better way to find an optimal solution. First we need to quantify our fitness function - something that converts our intuition that we want to maximize benefit/cost ratio of throughput to car jams. Let's do that first. &gt; B107 - type in "Fitness function" &gt; R107 - type in "=Q106-POWER(P105,1.5)" &gt; B108 - type in "Trial Value" &gt; C108- type in 0 &gt; A2 - change the formula to "=FLOOR.MATH(C108)" We are going to use C108 as our input to Excel Solver. The solver uses continuous values and we need to convert them to discrete integers - hence our change to A2's formula. To activate Solver click on "File - Options - Add-ins". Find "Solver Add-in" - it will most likely be listed in the "Inactive Application Add-ins" category. Click on "Go" next to "Manage Excel Add-ins". Check the box that says "Solver" and click "OK". (see pic.9) ![CA-10.png](https://steemitimages.com/DQmbxKYovDwJwFCtyHCjLapM3QLJs1mjzb1uSRLjHqtkRwK/CA-10.png) Pic.9 If everything worked you should now have "Solver" icon inside "Analyze" section on the Data tab of Excel. Click on it. (see pic.10). ![CA-11.png](https://steemitimages.com/DQmR4cMYHh3Dv9HBkJj5JhETy7no3aW1SS3yDwJRQppnJMu/CA-11.png) Pic.10 Notice that you have something called "Set Objective". Select cell R107 (that contains our fitness function) and leave "Max" as the default. In "By changing variable cells" select C108 - the input we will be changing. Now we need to add 2 constraints - the lower and upper bound. The lower bound will be 0, the upper bound 8191 - our maximum bitmask configuration (remember our CA is only 13 cells wide, so it can only support 2^13-1 combinations). Select solving method of "Evolutionary". Your dialogue box should look like the one shown below (pic.11). ![CA-12.png](https://steemitimages.com/DQmaPtxXctYKpd5GbuidNiZoj9HHDSFp8r392EbNboVoYpZ/CA-12.png) Pic.11 Now, click on "Solve" and go have some coffee (this could take several minutes depending on how fast your PC is)! If the Solve is working, you will see in Excel status bar something like "Setting up problem.... Incumbent solutions... subproblem... trial run....". Anyway, after a few minutes you should get a solution. The one I got was with 600 car throughput and 0 jams - given by the initial configuration of 4451. (keep in mind there could be a number of optimal solutions to these highly nonlinear problems). What did you get? Look at your graph - how does periodicity look? Is this a stable or a rather chaotic pattern? Congratulations, you just helped traffic control find an optimal traffic light pattern that maximizes car flow! ![CA-13.png](https://steemitimages.com/DQmXVKz11zUBum5dFqhffok9L1D4D7QrxEwG3yDeAD9qH2x/CA-13.png)
json metadata{"tags":["excel","computation","cellular","automata","complexity"],"image":["https://steemitimages.com/DQmawZhisHS9NaDbfDx5ppQ8DsprFPUGt4T7Rp13rdQYt4B/CA-6.png","https://steemitimages.com/DQmbUGTwk3B5SLwBf45WCSrHBnEYXNZvy7kqzi645RqFZfg/CA-1.png","https://steemitimages.com/DQmeAk94oZc7pBusgj9M3eKJGigb1oo6irU2UTfuxNNND5t/CA-2.png","https://upload.wikimedia.org/wikipedia/commons/thumb/2/24/Red_cylinder.svg/1136px-Red_cylinder.svg.png","https://steemitimages.com/DQmdkLgAXw1X8j2MLu6B95QYA2FCX7CDZosDqeZpRmtawxR/CA-3.png","https://steemitimages.com/DQmYcV7uVFRY9YfactHYiKs5SD31UCmHDB1UtU9iEguziDj/CA-4.png","https://steemitimages.com/DQmfCZn6uBsnxQG6PC3FUxWYQGEYyiX9MfsR1a1A5v4xnr3/CA-5.png","https://steemitimages.com/DQmXfjWhoqyh2Lnm6y6of6s6twXQDqYw6bqpStzXsAS9cB5/CA-7.png","https://steemitimages.com/DQmRNmDe2vQMdQyRZVNYh1VzWNZRRCfp2vxHC7HS4KCtfcv/CA-8.png","https://steemitimages.com/DQmZMZoh4TXRcWB6cxyNYbChFVHfYeq3rWVWEnHN9UiBQaZ/CA-9.png","https://steemitimages.com/DQmbxKYovDwJwFCtyHCjLapM3QLJs1mjzb1uSRLjHqtkRwK/CA-10.png","https://steemitimages.com/DQmR4cMYHh3Dv9HBkJj5JhETy7no3aW1SS3yDwJRQppnJMu/CA-11.png","https://steemitimages.com/DQmaPtxXctYKpd5GbuidNiZoj9HHDSFp8r392EbNboVoYpZ/CA-12.png","https://steemitimages.com/DQmXVKz11zUBum5dFqhffok9L1D4D7QrxEwG3yDeAD9qH2x/CA-13.png"],"app":"steemit/0.1","format":"markdown"}
parent author
parent permlinkexcel
permlinkcellular-automata-via-excel
titleCellular Automata via Excel
Transaction InfoBlock #22546063/Trx 84f49a48024a16da5af029f7b98349c1ce95b588
View Raw JSON Data
{
  "block": 22546063,
  "op": [
    "comment",
    {
      "author": "derza",
      "body": "Cellular automata are an important computational and modeling tool in studying highly complex, nonlinear phenomena. While they were first formalized in the 1940s by John von Neumann (as an alternative computational model to the famous Turing machine described by Alan Turing), their prolific use can be dated to the much more recent work of  Stephen Wolfram - the creator of  the Mathematica programming language and Wolfram Alpha platform, particularly to his book A New Kind of Science , published in 2002.\n\nIn this post we will be exploring a very simple kind of cellular automaton, an elementary cellular automaton which consists of a single row of cells (as opposed to a grid of cells, which is the typical setup of a cellular automaton). Surprisingly, even this simple \"elementary\" automaton can do a lot - as we will see in due course.\n\nSo, what is a cellular automaton? In a nutshell it is a collection of single cells that \"compute\" their next state (aka configuration) based only on \"local\" information - the state of its neighbors. This concept of \"neighborhood\" is crucial in grasping how cellular automata work. In the case of a 1-dimensional elementary cellular automaton (a single row of cells), the neighborhood of a cell is comprised of 3 cells - the cell itself and the immediate adjacent cells to the left and to the right. If we think of a 2-D cellular automaton (a grid of cells), we have up to 9 neighbors - 3 above, 3 below and 3 on the same level (see pic.0). Can you think of how many neighbors a 3-D cellular automata could have?\n\n![CA-6.png](https://steemitimages.com/DQmawZhisHS9NaDbfDx5ppQ8DsprFPUGt4T7Rp13rdQYt4B/CA-6.png)\nPic. 0\n\nThe cellular automaton model of computation has some profound advantages over the Turning model because calculations can be done in a massively parallel fashion - all the cells can be computing their state all at once. With the rise of multi-core PCs this paradigm is becoming increasingly dominant. Incidentally, this is exactly how biological systems and other real life systems function - brains, electrical pathways, spread of contagious diseases, population growth, etc. Thus, it makes sense to use computation methods that mimic the phenomena themselves.\n\nEnough theory, let's look at an example!\n\n![CA-1.png](https://steemitimages.com/DQmbUGTwk3B5SLwBf45WCSrHBnEYXNZvy7kqzi645RqFZfg/CA-1.png)\nPic. 1\n\nWhat we see here is an elementary 1-dimensional 9-cell CA (that's the abbreviation we'll be using from now on for cellular automaton) with a certain state (configuration ) at time 1. What happens at time =2 ? Well, that depends on the \"rules\" that govern a given CA. A particular rule that we will be implementing in Excel is called \"rule 184\" and it is described as follows:\n\n\n| current pattern | 111 | 110 | 101 | 100 | 011| 010 | 001| 000|\n|--------------------- |------|------|------|------|-----|-------|-----|------|\n| new state for center cell | 1 | 0| 1 | 1 | 1 | 0 | 0 | 0|\n\n\nSo, how does this work? Let's look at current pattern \"110\" (the highlighted one). What this rule is saying is that if the cell's current state is 1 and it's left neighbor's state is also 1, but it's left neighbor's state is 0, then its next state will be 0. See if you can apply this rule to the sample CA (pic.1), omitting the leftmost and rightmost cells (we will deal with them in a moment).\n\nDid you get something like this (pic.2)?\n\n![CA-2.png](https://steemitimages.com/DQmeAk94oZc7pBusgj9M3eKJGigb1oo6irU2UTfuxNNND5t/CA-2.png)\nPic.2 \n\n\nAs you can see, we have omitted the rightmost and leftmost cells because it is not immediately clear where we get the values of their left and right neighboring cells - since they are located on the edges. There are several options. One is to consider the CA as wrapping around on itself, in which case the rightmost cell's right neighbor is the leftmost cell and the leftmost cell's right neighbor is the rightmost cell. Another option is to use the value of \"0\" for missing cells. Finally, one can apply a special rule for those cells. We will go with the first option because it actually models our real-life phenomenon more accurately. Thus, you could think of the CA as a cylinder with no edges.\n\n\n![red-cylinder.png width=600](https://upload.wikimedia.org/wikipedia/commons/thumb/2/24/Red_cylinder.svg/1136px-Red_cylinder.svg.png)\n\n\nThus, the value of the leftmost cell comes from configuration 000 resulting in 0, and the rightmost 100, resulting in 1. The final result is shown below (pic.3):\n\n![CA-3.png](https://steemitimages.com/DQmdkLgAXw1X8j2MLu6B95QYA2FCX7CDZosDqeZpRmtawxR/CA-3.png)\nPic.3\n\n\nOK, so hopefully this intro was sufficient to get the basic ideas across; now let's build something useful. We are going to be using \"Rule 184\" because it is actually based on a real-life phenomenon of streaming motion, particularly applicable to things like traffic. What we want to model is a junction that allows cars to enter an circular lane with 13 exit points such that we minimize possible jams. We want to figure out a dynamic \"stop\" light that will allow maximum cars to enter the circular lane with minimum number of possible jams. In order to do that we will assume that all the cars will only use the last exit, thus creating the worst possible scenario. Amazingly, this elementary CA that uses Rule 184 will allow us to successfully solve this rather tricky problem.\n\n\nSo, let's fire up Excel and get to work! (Place the cursor in each cell mentioned in the beginning of the instruction, follow the instructions and then press Enter at the end).\n\n\n&gt; A1 - type in \"Bitmask values\", ALT-Enter , \"(powers of 2)\".\n\n&gt; B1 - type in \"1\"\n\n&gt; C1 - type in \"=\", select B1 and type \"*2\"\n\n&gt; Use the mouse to select the lower right hand cross-hair of C1 and drag it across to N1.\n\n\nYou should now have a series ranging from 1 to 4096. We are going to use this top row to assign a numeric value to each CA configuration, as well as load our initial configuration,  using something called a bitmask. Bitmasks are super easy as we'll see in a minute. (If you are savvy at math you have already figured out that this simple trick allows us to enumerate up to 2^13 or 2*4096-1 configurations. Not bad!) Anyway, let's keep going.\n\n\n\n&gt; A2 - type in \"=RANDBETWEEN(0,N1*2-1)\"\n\n&gt; A3 - type in \"Initial state bitmask\"\n\n&gt; B3 - type in \"=IF(BITAND(B1,$A$2)=B1,1,0)\"\n\n&gt; Use the mouse to select the lower right hand cross-hair of B3 and drag it across to N3\n\n\nOK, so what have we gotten here? The RANDBETWEEN function will give us a new random value for our trial runs - a way to simulate random traffic condition. What we do next is translate that number into something our CA can understand - 0s and 1s. To do that we use BITAND function which takes a random number and \"ANDs\" it with a given power of 2 (producing a binary bitmask of the random number). If the result contains the number we are ANDing with, then we use IF function to output 1, otherwise - 0.  You can get some intuition about how that works by just typing some numbers in cell A2. If you type any number that's a power of 2, like say 64, your bitmask will be all zeroes except for the column that corresponds to 64. If you type 69, columns B, D and H will have 1s, while all  the others will be zeroes (because 69 = 1+4+64).\n\n\nIn short, what we have gotten so far is the initial state for our CA to operate on in succession. Now, we are going to actually encode the \"Rule 184\" and get the show on the road!\n\n\nBut, first let's add a bit of formatting to make the model a bit more visually intuitive.\n\n\n&gt; Right-click on row 1 and click on \"Hide\" - we don't really need to see it once it's set up\n\n&gt; Select A2 and A3 and use Excel's Input automatic highlighting to show that these are inputs into the formula and are in fact related\n\n&gt; Select B3 through N3. Click on \"Conditional Formatting\" and select \"Manage Rules\". (pic 4)\n\n![CA-4.png](https://steemitimages.com/DQmYcV7uVFRY9YfactHYiKs5SD31UCmHDB1UtU9iEguziDj/CA-4.png)\nPic.4\n\n\n&gt; Click on \"New Rule\"\n\n&gt; Select a rule type of \"Format only cells that contain\"\n\n&gt; Set the options to \"Cell value\", \"equals to\", \"0\"\n\n&gt; Click on \"Format\" and choose some greenish color (0 means that the spot is empty, so it's not jammed)\n\n\n\n&gt; Repeat the steps above only choose \"1\" for value and some reddish color for cells that are jammed.\n\n&gt; Click \"OK\".\n\n\nIf you want to add additional pizzazz, add a rule of type \"Format all cells based on their values\", in the format styles drop-down select \"Icons sets\" and set the options as pictured below (pic. 5):\n\n\n![CA-5.png](https://steemitimages.com/DQmfCZn6uBsnxQG6PC3FUxWYQGEYyiX9MfsR1a1A5v4xnr3/CA-5.png)\nPic. 5\n\n\n\n&gt;Click \"OK\".  This will add cool little traffic lights to your model.\n\n\n\nWell, that was fun, but let's get back to our CA and implementing rule 184.\n\n\n\n&gt; C4 (this should be right below the second leftmost cell containing the first bit of the original configuration) - type in \"=IF(OR(AND(B3=1,C3=1,D3=1),AND(B3=1,C3=0,D3=1),AND(B3=1,C3=0,D3=0),AND(B3=0,C3=1,D3=1)),1,0)\"\n\n&gt; Select the cross hairs of cell C4 and drag it to M4 (notice we are omitting the edge cells because the logic has to be a little different to accommodate the same rule).\n\n\nThis formula should make some intuitive sense - if we are in C4 , our previous state was in C3 and therefore our neighborhood is made up of B3, C3 and D3 - the values that our CA is examining. It is a good idea at this point to go back to the definition of rule 184 and do some quick spot checking to make sure our CA is working properly. Find a few patterns and make sure that the resulting computed value is correct.\n\n\nAfter verifying that everything looks good, let's finish up with the edge cells.\n\n\n\n&gt; B4 - type in \"=IF(OR(AND(N3=1,B3=1,C3=1),AND(N3=1,B3=0,C3=1),AND(N3=1,B3=0,C3=0),AND(N3=0,B3=1,C3=1)),1,0)\"\n\n\n\n&gt; N4 - type in \"=IF(OR(AND(M3=1,N3=1,B3=1),AND(M3=1,N3=0,B3=1),AND(M3=1,N3=0,B3=0),AND(M3=0,N3=1,B3=1)),1,0)\"\n\n\n\nDo you see what we are doing here? In the first case we use the last cell of the previous row as our leftmost neighbor and in the other case we use the first cell of the previous row as our rightmost neighbor. Does it make sense in light of our modeling of traffic flow? When you think about it, yes, it does - because the flow is continuous, just like a surface of a cylinder, and we expect the same pattern to surround us both in front and before us.\n\n\n\nNow that we have our first CA computation let's copy it down so we can see how a lane will operate after N iterations. How many do you want to do? A 100? That's what I was thinking too :).\n\n\n\n&gt; Select cells B4 through N4; use the mouse cursor to select the cross hairs of N4  and drag it down to N103\n\n&gt; O4 - type in \"iteration#\". Press Ctrl+B to bold the contents.\n\n&gt; O5 - type in \"1\"\n\n&gt; O6 - type in \"=O5+1\". Select the cross hairs of O6 and double-click - this will propagate the formula down to row 103. We now have 100 iterations of CA model. Highlight cells O4-O103 and use light yellow color to format them differently from the CA cells.\n\n&gt; Place cursor in B1. Click on the \"Format Painter\" brush and select all the CA cells - the range B4:O103. Your screen should looks something like the following (pic. 6)\n\n![CA-7.png](https://steemitimages.com/DQmXfjWhoqyh2Lnm6y6of6s6twXQDqYw6bqpStzXsAS9cB5/CA-7.png)\nPic. 6\n\n\n\nObviously, the number in A2 is random, so it will be different from the one you see here. You can press F9 repeatedly to see how the screen changes with a different configuration.\n\n\n\nOK, so what's next? Well, now we want to have some way to quantify the effectiveness of each configuration. To do that we will introduce two metrics - the # of cars (throughput) and the number of car jams. For each row in CA the number of cars is simply the number of cells with a value of 1. The number of car jams will be the number of adjacent 1's. We also want to keep track of how configurations change - their periodicity. This is important, because we want to favor a stable configuration that tends to return quickly to its starting point. Something that's highly unpredictable will have a period approaching the total # of possible configurations (8191 in this case) and that is not very desirable.\n\n\n\nLet's go to work!\n\n\n\n&gt;P3 - type in \"Traffic jams\"\n\n&gt;Q3 - type in \"Throughput\"\n\n&gt;R3 - type in \"Configuration\"\n\n&gt; P4 type in \"=SUM(BITAND(B4,C4),BITAND(C4,D4),BITAND(D4,E4),BITAND(E4,F4),BITAND(F4,G4),BITAND(G4,H4),BITAND(H4,I4),BITAND(J4,K4),BITAND(K4,L4),BITAND(L4,M4),BITAND(M4,N4))\"\n\n\n\n&gt; Q4 type in \"=COUNTIF(B4:N4,\"=1\")\"\n\n&gt; R4 type in \"=SUMPRODUCT($B$1:$N$1,B4:N4)\"\n\n&gt; Select cells P4 through R4 and double click on the cross hairs of R4. This should copy the formulas down to row 103.\n\n&gt; P105 - on the Home tab of Excel click on Auto-Sum and select \"sum\". It should sum up cells P4:P104\n\n&gt; Q106- similarly, click on Auto-Sum and select \"sum\". It should sum up cells Q4:Q105\n\n&gt; B105  - type in \"Total jams\". Select cells B105:P105 and add a thin bottom border.\n\n&gt; B106 - type in \"Total througput (cars)\". Select cells B106:Q106 and add a thin bottom border.\n\n\n\nWhat is going on here? We are using BITAND function again to see if two adjacent cells have 1's in them; if they do - BITAND returns 1, otherwise it returns 0. Summing all the results gives us the total # of car jams. Throughput is even easier - we use COUNTIF to count all the cells that have 1 in them.\n\nR4 essentially converts the binary bitmask of each row to a decimal number by multiplying the hidden row of powers of two by the corresponding 0 or 1.\n\n\n\nNow let's add a visualization of our model.\n\n\n\n&gt; Select cells P3:R103. Click on Insert tab in Excel menu. Select \"Line Chart\" and \"Line Chart with Markers\" in the submenu. You will notice that the configuration line obscures the traffic jams and throughput lines, so we'll graph it on a separately scaled axis. Double click on the line representing the configuration. You should see something similar to the screenshot below (pic. 7).\n\n![CA-8.png](https://steemitimages.com/DQmRNmDe2vQMdQyRZVNYh1VzWNZRRCfp2vxHC7HS4KCtfcv/CA-8.png)\nPic.7\n\n\n&gt; Select \"Secondary axis\". Format the line so it uses a different dash type and has smaller thickness.\n\nAdd axis titles - \"# of cars/car jams\" to the primary vertical axis and \"config #\" to the secondary vertical axis. (You can do this by double-clicking on the graph and then selecting a menu from the \"Add Chart Element\" in the top left corner of Excel window). Change graph title to \"CA Traffic Model\". Your graph should resemble pic.8 below.\n\n\n![CA-9.png](https://steemitimages.com/DQmZMZoh4TXRcWB6cxyNYbChFVHfYeq3rWVWEnHN9UiBQaZ/CA-9.png)\nPic.8\n\n\nPress  F9  repeatedly to see how the graph changes with a different starting configuration. Do you see data that's more or less periodic?\n\n\n\nWell, I guess we could just stop here and let you press F9 while keeping an eye on the total # of cars that passed through vs. total number of jams - until your fingers would go completely numb. Thankfully, there is a better way to find an optimal solution. First we need to quantify our fitness function - something that converts our intuition that we want to maximize benefit/cost ratio of throughput to car jams. Let's do that first.\n\n\n\n&gt; B107 - type in \"Fitness function\"\n\n&gt; R107 - type in \"=Q106-POWER(P105,1.5)\"\n\n&gt; B108 - type in \"Trial Value\"\n\n&gt; C108- type in 0\n\n&gt; A2  - change the formula to \"=FLOOR.MATH(C108)\"\n\n\n\nWe are going to use C108 as our input to Excel Solver. The solver uses continuous values and we need to convert them to discrete integers - hence our change to A2's formula.\n\n\n\nTo activate Solver click on \"File - Options - Add-ins\". Find \"Solver Add-in\" - it will most likely be listed in the \"Inactive Application Add-ins\" category.  Click on \"Go\" next to \"Manage Excel Add-ins\". Check the box that says \"Solver\" and click \"OK\". (see pic.9)\n\n\n![CA-10.png](https://steemitimages.com/DQmbxKYovDwJwFCtyHCjLapM3QLJs1mjzb1uSRLjHqtkRwK/CA-10.png)\nPic.9\n\n\n\n\nIf everything worked you should now have \"Solver\" icon inside \"Analyze\" section on the Data tab of Excel. Click on it. (see pic.10).\n\n\n\n![CA-11.png](https://steemitimages.com/DQmR4cMYHh3Dv9HBkJj5JhETy7no3aW1SS3yDwJRQppnJMu/CA-11.png)\nPic.10\n\n\n\nNotice that you have something called \"Set Objective\". Select cell R107 (that contains our fitness function) and leave \"Max\" as the default. In \"By changing variable cells\" select C108 -  the input we will be changing. Now we need to add 2 constraints - the lower and upper bound. The lower bound will be 0, the upper bound 8191 - our maximum bitmask configuration (remember our CA is only 13 cells wide, so it can only support 2^13-1 combinations). Select solving method of \"Evolutionary\".\n\n\nYour dialogue box should look like the one shown below (pic.11).\n\n\n![CA-12.png](https://steemitimages.com/DQmaPtxXctYKpd5GbuidNiZoj9HHDSFp8r392EbNboVoYpZ/CA-12.png)\nPic.11\n\n\n\nNow, click on \"Solve\" and go have some coffee (this could take several minutes depending on how fast your PC is)! If the Solve is working, you will see in Excel status bar something like \"Setting up problem.... Incumbent solutions... subproblem... trial run....\".\n\nAnyway, after a few minutes you should get a solution. The one I got was with 600 car throughput and 0 jams - given by the initial configuration of 4451. (keep in mind there could be a number of optimal solutions to these highly nonlinear problems).  What did you get?\n\n\n\nLook at your graph - how does periodicity look? Is this a stable or a rather chaotic pattern? Congratulations, you just helped traffic control find an optimal traffic light pattern that maximizes car flow!\n\n![CA-13.png](https://steemitimages.com/DQmXVKz11zUBum5dFqhffok9L1D4D7QrxEwG3yDeAD9qH2x/CA-13.png)",
      "json_metadata": "{\"tags\":[\"excel\",\"computation\",\"cellular\",\"automata\",\"complexity\"],\"image\":[\"https://steemitimages.com/DQmawZhisHS9NaDbfDx5ppQ8DsprFPUGt4T7Rp13rdQYt4B/CA-6.png\",\"https://steemitimages.com/DQmbUGTwk3B5SLwBf45WCSrHBnEYXNZvy7kqzi645RqFZfg/CA-1.png\",\"https://steemitimages.com/DQmeAk94oZc7pBusgj9M3eKJGigb1oo6irU2UTfuxNNND5t/CA-2.png\",\"https://upload.wikimedia.org/wikipedia/commons/thumb/2/24/Red_cylinder.svg/1136px-Red_cylinder.svg.png\",\"https://steemitimages.com/DQmdkLgAXw1X8j2MLu6B95QYA2FCX7CDZosDqeZpRmtawxR/CA-3.png\",\"https://steemitimages.com/DQmYcV7uVFRY9YfactHYiKs5SD31UCmHDB1UtU9iEguziDj/CA-4.png\",\"https://steemitimages.com/DQmfCZn6uBsnxQG6PC3FUxWYQGEYyiX9MfsR1a1A5v4xnr3/CA-5.png\",\"https://steemitimages.com/DQmXfjWhoqyh2Lnm6y6of6s6twXQDqYw6bqpStzXsAS9cB5/CA-7.png\",\"https://steemitimages.com/DQmRNmDe2vQMdQyRZVNYh1VzWNZRRCfp2vxHC7HS4KCtfcv/CA-8.png\",\"https://steemitimages.com/DQmZMZoh4TXRcWB6cxyNYbChFVHfYeq3rWVWEnHN9UiBQaZ/CA-9.png\",\"https://steemitimages.com/DQmbxKYovDwJwFCtyHCjLapM3QLJs1mjzb1uSRLjHqtkRwK/CA-10.png\",\"https://steemitimages.com/DQmR4cMYHh3Dv9HBkJj5JhETy7no3aW1SS3yDwJRQppnJMu/CA-11.png\",\"https://steemitimages.com/DQmaPtxXctYKpd5GbuidNiZoj9HHDSFp8r392EbNboVoYpZ/CA-12.png\",\"https://steemitimages.com/DQmXVKz11zUBum5dFqhffok9L1D4D7QrxEwG3yDeAD9qH2x/CA-13.png\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}",
      "parent_author": "",
      "parent_permlink": "excel",
      "permlink": "cellular-automata-via-excel",
      "title": "Cellular Automata via Excel"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-18T19:08:33",
  "trx_id": "84f49a48024a16da5af029f7b98349c1ce95b588",
  "trx_in_block": 36,
  "virtual_op": 0
}
2018/03/25 00:41:51
authorderza
permlinkevaluating-zcash-zec-as-an-investment
voterjimbomack66
weight10000 (100.00%)
Transaction InfoBlock #20969682/Trx aa9483d047bebb14f557cf15b86c21587460eb23
View Raw JSON Data
{
  "block": 20969682,
  "op": [
    "vote",
    {
      "author": "derza",
      "permlink": "evaluating-zcash-zec-as-an-investment",
      "voter": "jimbomack66",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-03-25T00:41:51",
  "trx_id": "aa9483d047bebb14f557cf15b86c21587460eb23",
  "trx_in_block": 16,
  "virtual_op": 0
}
2018/01/25 14:53:18
authorkitty24
permlink3-lies-women-tell-themselves-about-men-that-s-keeping-them-away-from-finding-and-keeping-love
voterderza
weight10000 (100.00%)
Transaction InfoBlock #19289983/Trx f5cd77f765032acc12657c102d1fb7fa0d3134e1
View Raw JSON Data
{
  "block": 19289983,
  "op": [
    "vote",
    {
      "author": "kitty24",
      "permlink": "3-lies-women-tell-themselves-about-men-that-s-keeping-them-away-from-finding-and-keeping-love",
      "voter": "derza",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-25T14:53:18",
  "trx_id": "f5cd77f765032acc12657c102d1fb7fa0d3134e1",
  "trx_in_block": 21,
  "virtual_op": 0
}
derzaupvoted (100.00%) @syedfazli / beautiful
2018/01/24 16:29:00
authorsyedfazli
permlinkbeautiful
voterderza
weight10000 (100.00%)
Transaction InfoBlock #19263108/Trx 3fbd8ca3548204cedd9fbe95c75a1f655c24ff52
View Raw JSON Data
{
  "block": 19263108,
  "op": [
    "vote",
    {
      "author": "syedfazli",
      "permlink": "beautiful",
      "voter": "derza",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-24T16:29:00",
  "trx_id": "3fbd8ca3548204cedd9fbe95c75a1f655c24ff52",
  "trx_in_block": 21,
  "virtual_op": 0
}
derzaclaimed reward balance: 0.001 SP
2018/01/24 16:25:48
accountderza
reward sbd0.000 SBD
reward steem0.000 STEEM
reward vests2.046864 VESTS
Transaction InfoBlock #19263044/Trx 0f229f52ea7f9eac8bcfd1556da1fcc5b0360aab
View Raw JSON Data
{
  "block": 19263044,
  "op": [
    "claim_reward_balance",
    {
      "account": "derza",
      "reward_sbd": "0.000 SBD",
      "reward_steem": "0.000 STEEM",
      "reward_vests": "2.046864 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-24T16:25:48",
  "trx_id": "0f229f52ea7f9eac8bcfd1556da1fcc5b0360aab",
  "trx_in_block": 5,
  "virtual_op": 0
}
derzareceived 0.001 SP curation reward for @biolegria / a-small-frog-inside-a-mushroom
2018/01/24 00:05:03
comment authorbiolegria
comment permlinka-small-frog-inside-a-mushroom
curatorderza
reward2.046864 VESTS
Transaction InfoBlock #19243432/Virtual Operation #3
View Raw JSON Data
{
  "block": 19243432,
  "op": [
    "curation_reward",
    {
      "comment_author": "biolegria",
      "comment_permlink": "a-small-frog-inside-a-mushroom",
      "curator": "derza",
      "reward": "2.046864 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-24T00:05:03",
  "trx_id": "0000000000000000000000000000000000000000",
  "trx_in_block": 4294967295,
  "virtual_op": 3
}
derzapublished a new post: the-capitalist-manifesto
2018/01/22 21:15:21
authorderza
body@@ -186,45 +186,8 @@ the -the great outdoors of the world-wide inte @@ -209,28 +209,16 @@ ctre of -Free-Market Capitali
json metadata{"tags":["politics","libertarian","economics","populism","globalism"],"image":["https://steemitimages.com/DQmcgVyTCMtHkDbfsbTfMta38tEnawFXuapujUJ5rnhPpwL/600pxanarchocapitalismsymbol.jpg"],"app":"steemit/0.1","format":"markdown"}
parent author
parent permlinkpolitics
permlinkthe-capitalist-manifesto
titleThe Capitalist Manifesto
Transaction InfoBlock #19211257/Trx 629113af8cfeda99e55e7c4f349abeb15cbf2050
View Raw JSON Data
{
  "block": 19211257,
  "op": [
    "comment",
    {
      "author": "derza",
      "body": "@@ -186,45 +186,8 @@\n the \n-the great outdoors of the world-wide \n inte\n@@ -209,28 +209,16 @@\n ctre of \n-Free-Market \n Capitali\n",
      "json_metadata": "{\"tags\":[\"politics\",\"libertarian\",\"economics\",\"populism\",\"globalism\"],\"image\":[\"https://steemitimages.com/DQmcgVyTCMtHkDbfsbTfMta38tEnawFXuapujUJ5rnhPpwL/600pxanarchocapitalismsymbol.jpg\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}",
      "parent_author": "",
      "parent_permlink": "politics",
      "permlink": "the-capitalist-manifesto",
      "title": "The Capitalist Manifesto"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-22T21:15:21",
  "trx_id": "629113af8cfeda99e55e7c4f349abeb15cbf2050",
  "trx_in_block": 27,
  "virtual_op": 0
}
derzapublished a new post: the-capitalist-manifesto
2018/01/22 21:09:57
authorderza
body![600pxanarchocapitalismsymbol.jpg](https://steemitimages.com/DQmcgVyTCMtHkDbfsbTfMta38tEnawFXuapujUJ5rnhPpwL/600pxanarchocapitalismsymbol.jpg) ### Introduction A spectre is haunting the the great outdoors of the world-wide interwebs - the Spectre of Free-Market Capitalism. All the powers of the globalist cabal have joined forces to keep this ghost of the shining past in a tightly sealed bottle labeled 'trash heap of history' - the elite bastions of higher education (falsely so called) and the mainstream media, the Soros foundations for "spreading democracy" and the unelected Central Banks, the "infotainment" brigades of the innumerable Whoopi Goldbergs and Michael Moores and the Hollywood "eye candy squads" led by George Clooneys, Ashley Judds, Nicole Kidmans. All these are buttressed and emulated by the yuppy wannabe Che Guevaras who are temporarily occupying their posh homes in the Hamptons or the Orange County, but any day now will move into the slums to join the masses in their "revolution". In the meantime, their dubious position is legitimized by the likes of Chomsky, Krugman, Sanders and Warren, while the less pseudo-intellectual left-leaning population could get their daily fill of self-righteous self-flagellation from the deliciously full teat of Jon Stewart, Stephen Colbert and the "Turks". Where is a movement supported by the population en masse that has not been decried as "alt right", "chauvinist", "fascist", and ultimately "right wing capitalist", by the powers that be? Where is the opposition to the increased taxation, the Fed, the unchecked powers of the IRS, the endless hand-outs to immigrants and minorities that has not been branded as "reactionary", "racist" and "capitalist"? Two things result from this fact: 1. Capitalism and liberty (free market) are already acknowledged by all Globalist Elites as a power that can turn the tide of their evil scheme to enslave the world, destroy the nation-state and the family unit. 1. It is high time that Capitalist, Free-Market Ideology should be openly and unabashedly propagated, acknowledged, popularized and advanced in view of its Spectre haunting the ruins of once great Western empires and nation states. To this end, the netizens of the world have huddled around their laptops and smart phones in order to sketch the following manifesto, and publish it in every UTF-16-encodable language known to man. ### Chapter I. The Producers and the Elites (the Leeches) The history of all hitherto existing society is the history of those who produce goods and wish to exchange them for some equal value, and those, who for various reasons (too lazy, too stupid, but most often, simply too incorrigibly corrupt and morally bankrupt) wish to rob them and usurp the benefits of their hard labor that are due to them. A self-made, independent artisan or farmer, an inventor, a small business owner, a shopkeeper, an independent professional of any kind who aspires to make his own fortune in life - all of these have been shelved and labeled as "bourgeois" - the "deplorables", the aesthetically backward, the unsophisticated. They have been the butt of derision by the snobbish "intelligentsia" which incidentally neither sows nor reaps itself, but expects to lead a rather comfortable bohemian lifestyle supported by a generous "grant" from a government (aka "the System") that would happily take a bite out of every dollar earned in a day's hard work, and while giving itself a generous 95% of it, however reluctantly still throws a 5% bone to the the bohemian 'intellectuals' who are all too happy to sing the Sirens' songs of injuries and entitlements to the somnambulistic underclass that is all too happy to guzzle down these FDA-approved McNuggets of junk food for the vacuous mind. (To be continued, maybe...): ### Chapter II. The Middle Class and the Capitalists ### Chapter III. The Free Market Capitalist Literature and Doctrine ### Chapter IV. The Relationship of Free Market Capitalism to Other Populist Movements ### Epilogue In short, the Free Market Capitalists everywhere support every populist movement against the existing social and political order of things. In all these movements, they bring to the front, as the leading question in each, the sanctity of private property as the ultimate question, no matter what its degree of development at the time. Finally, they labor everywhere for the prospering and development of democracy, liberty and national sovereignty for all countries. The Capitalists disdain to conceal their views and aims. They openly declare that their ends can be attained only by the forcible overthrow of all existing social conditions. Let the ruling elites tremble at a Free Market populist revolution. After being ravaged by incessant taxation, after being violated by invasive data snooping and surveillance, after having their basic freedoms of due process, privacy and freedom of speech negated and practically annulled by the Supreme Courts of countries world over, the libertarian Capitalists have nothing to lose but their chains. They have a world to win.
json metadata{"tags":["politics","libertarian","economics","populism","globalism"],"image":["https://steemitimages.com/DQmcgVyTCMtHkDbfsbTfMta38tEnawFXuapujUJ5rnhPpwL/600pxanarchocapitalismsymbol.jpg"],"app":"steemit/0.1","format":"markdown"}
parent author
parent permlinkpolitics
permlinkthe-capitalist-manifesto
titleThe Capitalist Manifesto
Transaction InfoBlock #19211149/Trx 7903644591e70d349e90af8c655b8be723a051a2
View Raw JSON Data
{
  "block": 19211149,
  "op": [
    "comment",
    {
      "author": "derza",
      "body": "![600pxanarchocapitalismsymbol.jpg](https://steemitimages.com/DQmcgVyTCMtHkDbfsbTfMta38tEnawFXuapujUJ5rnhPpwL/600pxanarchocapitalismsymbol.jpg)\n\n### Introduction\n\nA spectre is haunting the the great outdoors of the world-wide interwebs - the Spectre of Free-Market Capitalism. All the powers of the globalist cabal have joined forces to keep this ghost of the shining past in a tightly sealed bottle labeled 'trash heap of history' - the elite bastions of higher education (falsely so called) and the mainstream  media, the Soros foundations for \"spreading democracy\" and the unelected Central Banks, the \"infotainment\" brigades of the innumerable Whoopi Goldbergs and Michael Moores and the Hollywood \"eye candy squads\" led by George Clooneys, Ashley Judds, Nicole Kidmans. All these are buttressed and emulated by the yuppy wannabe Che Guevaras who are temporarily occupying their posh homes in the Hamptons or the Orange County, but any day now will move into the slums to join the masses in their \"revolution\".\n\nIn the meantime, their dubious position is legitimized by the likes of Chomsky, Krugman, Sanders and Warren, while the less pseudo-intellectual left-leaning population could get their daily fill of self-righteous self-flagellation from the deliciously full teat of Jon Stewart, Stephen Colbert and the \"Turks\".\n\nWhere is a movement supported by the population en masse that has not been decried as \"alt right\", \"chauvinist\", \"fascist\", and ultimately \"right wing capitalist\",  by the powers that be? Where is the opposition to the increased taxation, the Fed, the unchecked powers of the IRS, the endless hand-outs to immigrants and minorities that has not been branded as \"reactionary\", \"racist\" and \"capitalist\"?\n\nTwo things result from this fact:\n\n1. Capitalism and liberty (free market) are already acknowledged by all Globalist Elites as a power that can turn the tide of their evil scheme to enslave the world, destroy the nation-state and the family unit.\n\n1. It is high time that Capitalist, Free-Market Ideology should be openly and unabashedly propagated, acknowledged, popularized and advanced in view of its Spectre haunting the ruins of once great Western empires and nation states.\n\nTo this end, the netizens of the world have huddled around their laptops and smart phones in order to sketch the following manifesto, and publish it in every UTF-16-encodable language known to man.\n\n### Chapter I. The Producers and the Elites (the Leeches)\n\nThe history of all hitherto existing society is the history of those who produce goods and wish to exchange them for some equal value, and those, who for various reasons (too lazy, too stupid, but most often, simply too incorrigibly corrupt and morally bankrupt) wish to rob them and usurp the benefits of their hard labor that are due to them.\n\nA self-made, independent artisan or farmer, an inventor, a small business owner, a shopkeeper, an independent professional of any kind who aspires to make his own fortune in life  - all of these have been shelved and labeled as \"bourgeois\" - the \"deplorables\", the aesthetically backward, the unsophisticated. They have been the butt of derision by the snobbish \"intelligentsia\" which incidentally neither sows nor reaps itself, but expects to lead a rather comfortable bohemian lifestyle supported by a generous \"grant\" from a government (aka \"the System\") that would happily take a bite out of every dollar earned in a day's hard work, and while giving itself a generous 95% of it, however reluctantly still throws a 5% bone to the the bohemian 'intellectuals' who are all too happy to sing the Sirens' songs of injuries and entitlements to the somnambulistic underclass that is all too happy to guzzle down these FDA-approved McNuggets of junk food for the vacuous mind.\n\n\n(To be continued, maybe...):\n\n### Chapter II.   The Middle Class and the Capitalists\n### Chapter III.  The Free Market Capitalist Literature and Doctrine\n### Chapter IV.   The Relationship of Free Market Capitalism to Other Populist Movements\n\n### Epilogue\n\nIn short, the Free Market Capitalists everywhere support every populist movement against the existing social and political order of things. \n\nIn all these movements, they bring to the front, as the leading question in each, the sanctity of private property as the ultimate question, no matter what its degree of development at the time.\n\nFinally, they labor everywhere for the prospering and development of democracy, liberty and national sovereignty for all countries.\n\nThe Capitalists disdain to conceal their views and aims. They openly declare that their ends can be attained only by the forcible overthrow of all existing social conditions. Let the ruling elites tremble at a Free Market populist revolution. After being ravaged by incessant taxation, after being violated by invasive data snooping and surveillance, after having their basic freedoms of due process, privacy and freedom of speech negated and practically annulled by the Supreme Courts of countries world over, the libertarian Capitalists have nothing to lose but their chains. They have a world to win.",
      "json_metadata": "{\"tags\":[\"politics\",\"libertarian\",\"economics\",\"populism\",\"globalism\"],\"image\":[\"https://steemitimages.com/DQmcgVyTCMtHkDbfsbTfMta38tEnawFXuapujUJ5rnhPpwL/600pxanarchocapitalismsymbol.jpg\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}",
      "parent_author": "",
      "parent_permlink": "politics",
      "permlink": "the-capitalist-manifesto",
      "title": "The Capitalist Manifesto"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-22T21:09:57",
  "trx_id": "7903644591e70d349e90af8c655b8be723a051a2",
  "trx_in_block": 23,
  "virtual_op": 0
}
derzapowered up 0.003 STEEM to @derza
2018/01/22 16:57:06
amount0.003 STEEM
fromderza
toderza
Transaction InfoBlock #19206093/Trx 5dc6236610e7274924e21d5d83fafae2399e856c
View Raw JSON Data
{
  "block": 19206093,
  "op": [
    "transfer_to_vesting",
    {
      "amount": "0.003 STEEM",
      "from": "derza",
      "to": "derza"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-22T16:57:06",
  "trx_id": "5dc6236610e7274924e21d5d83fafae2399e856c",
  "trx_in_block": 36,
  "virtual_op": 0
}
derzablockchain operation: limit order create
2018/01/22 16:56:27
amount to sell0.002 SBD
expiration1969-12-31T23:59:59
fill or killfalse
min to receive0.003 STEEM
orderid1516640180
ownerderza
Transaction InfoBlock #19206080/Trx 6e7db92476dab3df9838d7e300e2812e8a907f25
View Raw JSON Data
{
  "block": 19206080,
  "op": [
    "limit_order_create",
    {
      "amount_to_sell": "0.002 SBD",
      "expiration": "1969-12-31T23:59:59",
      "fill_or_kill": false,
      "min_to_receive": "0.003 STEEM",
      "orderid": 1516640180,
      "owner": "derza"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-22T16:56:27",
  "trx_id": "6e7db92476dab3df9838d7e300e2812e8a907f25",
  "trx_in_block": 31,
  "virtual_op": 0
}
derzabought 0.003 STEEM for 0.002 SBD from @kartiksingh
2018/01/22 16:56:27
current orderid1516640180
current ownerderza
current pays0.002 SBD
open orderid1516640165
open ownerkartiksingh
open pays0.003 STEEM
Transaction InfoBlock #19206080/Trx 6e7db92476dab3df9838d7e300e2812e8a907f25
View Raw JSON Data
{
  "block": 19206080,
  "op": [
    "fill_order",
    {
      "current_orderid": 1516640180,
      "current_owner": "derza",
      "current_pays": "0.002 SBD",
      "open_orderid": 1516640165,
      "open_owner": "kartiksingh",
      "open_pays": "0.003 STEEM"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-22T16:56:27",
  "trx_id": "6e7db92476dab3df9838d7e300e2812e8a907f25",
  "trx_in_block": 31,
  "virtual_op": 1
}
derzaclaimed reward balance: 0.010 SP
2018/01/22 16:52:18
accountderza
reward sbd0.000 SBD
reward steem0.000 STEEM
reward vests16.379910 VESTS
Transaction InfoBlock #19205997/Trx e192dfeb007acdc5ec9d1658c0039f88f905dddf
View Raw JSON Data
{
  "block": 19205997,
  "op": [
    "claim_reward_balance",
    {
      "account": "derza",
      "reward_sbd": "0.000 SBD",
      "reward_steem": "0.000 STEEM",
      "reward_vests": "16.379910 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-22T16:52:18",
  "trx_id": "e192dfeb007acdc5ec9d1658c0039f88f905dddf",
  "trx_in_block": 50,
  "virtual_op": 0
}
2018/01/20 20:08:24
comment authormartaesperanza
comment permlinksaturday-adventures-my-picture-day-submission
curatorderza
reward4.094374 VESTS
Transaction InfoBlock #19152336/Virtual Operation #26
View Raw JSON Data
{
  "block": 19152336,
  "op": [
    "curation_reward",
    {
      "comment_author": "martaesperanza",
      "comment_permlink": "saturday-adventures-my-picture-day-submission",
      "curator": "derza",
      "reward": "4.094374 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-20T20:08:24",
  "trx_id": "0000000000000000000000000000000000000000",
  "trx_in_block": 4294967295,
  "virtual_op": 26
}
derzablockchain operation: fill transfer from savings
2018/01/19 14:57:45
amount0.002 SBD
fromderza
memo
request id1516114663
toderza
Transaction InfoBlock #19117354/Virtual Operation #25
View Raw JSON Data
{
  "block": 19117354,
  "op": [
    "fill_transfer_from_savings",
    {
      "amount": "0.002 SBD",
      "from": "derza",
      "memo": "",
      "request_id": 1516114663,
      "to": "derza"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-19T14:57:45",
  "trx_id": "0000000000000000000000000000000000000000",
  "trx_in_block": 4294967295,
  "virtual_op": 25
}
2018/01/17 15:16:30
idfollow
json["follow",{"follower":"derza","following":"steemstem","what":["blog"]}]
required auths[]
required posting auths["derza"]
Transaction InfoBlock #19060152/Trx ab8453ef216fbdfc32c150c2d76bfcfc944e09ec
View Raw JSON Data
{
  "block": 19060152,
  "op": [
    "custom_json",
    {
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"derza\",\"following\":\"steemstem\",\"what\":[\"blog\"]}]",
      "required_auths": [],
      "required_posting_auths": [
        "derza"
      ]
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-17T15:16:30",
  "trx_id": "ab8453ef216fbdfc32c150c2d76bfcfc944e09ec",
  "trx_in_block": 49,
  "virtual_op": 0
}
2018/01/17 15:09:12
authorbiolegria
permlinka-small-frog-inside-a-mushroom
voterderza
weight10000 (100.00%)
Transaction InfoBlock #19060006/Trx 36edf88ecac4efbbb5308aef620586b2d84cb2dc
View Raw JSON Data
{
  "block": 19060006,
  "op": [
    "vote",
    {
      "author": "biolegria",
      "permlink": "a-small-frog-inside-a-mushroom",
      "voter": "derza",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-17T15:09:12",
  "trx_id": "36edf88ecac4efbbb5308aef620586b2d84cb2dc",
  "trx_in_block": 63,
  "virtual_op": 0
}
derzareceived 0.001 SP curation reward for @donovanpage / the-isle-of-man-weird-animals
2018/01/16 22:03:12
comment authordonovanpage
comment permlinkthe-isle-of-man-weird-animals
curatorderza
reward2.047584 VESTS
Transaction InfoBlock #19039489/Virtual Operation #5
View Raw JSON Data
{
  "block": 19039489,
  "op": [
    "curation_reward",
    {
      "comment_author": "donovanpage",
      "comment_permlink": "the-isle-of-man-weird-animals",
      "curator": "derza",
      "reward": "2.047584 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-16T22:03:12",
  "trx_id": "0000000000000000000000000000000000000000",
  "trx_in_block": 4294967295,
  "virtual_op": 5
}
2018/01/16 21:28:51
comment authorisaria
comment permlinkminnow-university-realistic-expectations-and-tips-for-success
curatorderza
reward4.095173 VESTS
Transaction InfoBlock #19038802/Virtual Operation #30
View Raw JSON Data
{
  "block": 19038802,
  "op": [
    "curation_reward",
    {
      "comment_author": "isaria",
      "comment_permlink": "minnow-university-realistic-expectations-and-tips-for-success",
      "curator": "derza",
      "reward": "4.095173 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-16T21:28:51",
  "trx_id": "0000000000000000000000000000000000000000",
  "trx_in_block": 4294967295,
  "virtual_op": 30
}
derzareceived 0.001 SP curation reward for @rea / the-amazing-trip-to-windsor-castle-part-iii
2018/01/16 21:25:54
comment authorrea
comment permlinkthe-amazing-trip-to-windsor-castle-part-iii
curatorderza
reward2.047586 VESTS
Transaction InfoBlock #19038743/Virtual Operation #57
View Raw JSON Data
{
  "block": 19038743,
  "op": [
    "curation_reward",
    {
      "comment_author": "rea",
      "comment_permlink": "the-amazing-trip-to-windsor-castle-part-iii",
      "curator": "derza",
      "reward": "2.047586 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-16T21:25:54",
  "trx_id": "0000000000000000000000000000000000000000",
  "trx_in_block": 4294967295,
  "virtual_op": 57
}
2018/01/16 19:14:03
comment authorbiolegria
comment permlinkblack-billed-toucan-ramphastos-vitellinus-preying-on-a-tree-frog
curatorderza
reward2.047596 VESTS
Transaction InfoBlock #19036106/Virtual Operation #7
View Raw JSON Data
{
  "block": 19036106,
  "op": [
    "curation_reward",
    {
      "comment_author": "biolegria",
      "comment_permlink": "black-billed-toucan-ramphastos-vitellinus-preying-on-a-tree-frog",
      "curator": "derza",
      "reward": "2.047596 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-16T19:14:03",
  "trx_id": "0000000000000000000000000000000000000000",
  "trx_in_block": 4294967295,
  "virtual_op": 7
}
derzareceived 0.001 SP curation reward for @biolegria / aloe-polyphylla-and-its-perfect-symmetry
2018/01/16 18:57:18
comment authorbiolegria
comment permlinkaloe-polyphylla-and-its-perfect-symmetry
curatorderza
reward2.047597 VESTS
Transaction InfoBlock #19035771/Virtual Operation #5
View Raw JSON Data
{
  "block": 19035771,
  "op": [
    "curation_reward",
    {
      "comment_author": "biolegria",
      "comment_permlink": "aloe-polyphylla-and-its-perfect-symmetry",
      "curator": "derza",
      "reward": "2.047597 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-16T18:57:18",
  "trx_id": "0000000000000000000000000000000000000000",
  "trx_in_block": 4294967295,
  "virtual_op": 5
}
derzablockchain operation: transfer from savings
2018/01/16 14:57:45
amount0.002 SBD
fromderza
memo
request id1516114663
toderza
Transaction InfoBlock #19030981/Trx 183aad8fe2f0ff1d6ac113074dfb91ee7b2ce41d
View Raw JSON Data
{
  "block": 19030981,
  "op": [
    "transfer_from_savings",
    {
      "amount": "0.002 SBD",
      "from": "derza",
      "memo": "",
      "request_id": 1516114663,
      "to": "derza"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-16T14:57:45",
  "trx_id": "183aad8fe2f0ff1d6ac113074dfb91ee7b2ce41d",
  "trx_in_block": 47,
  "virtual_op": 0
}
derzaclaimed reward balance: 0.003 SP
2018/01/16 14:57:12
accountderza
reward sbd0.000 SBD
reward steem0.000 STEEM
reward vests4.095355 VESTS
Transaction InfoBlock #19030970/Trx 5a04ef7d1d3720db785ee1169f4fb20e9a8a2569
View Raw JSON Data
{
  "block": 19030970,
  "op": [
    "claim_reward_balance",
    {
      "account": "derza",
      "reward_sbd": "0.000 SBD",
      "reward_steem": "0.000 STEEM",
      "reward_vests": "4.095355 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-16T14:57:12",
  "trx_id": "5a04ef7d1d3720db785ee1169f4fb20e9a8a2569",
  "trx_in_block": 12,
  "virtual_op": 0
}
2018/01/16 00:12:03
comment authorbiolegria
comment permlinkblack-swallow-niger-chlidonias-feeding-their-young
curatorderza
reward2.047677 VESTS
Transaction InfoBlock #19013268/Virtual Operation #9
View Raw JSON Data
{
  "block": 19013268,
  "op": [
    "curation_reward",
    {
      "comment_author": "biolegria",
      "comment_permlink": "black-swallow-niger-chlidonias-feeding-their-young",
      "curator": "derza",
      "reward": "2.047677 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-16T00:12:03",
  "trx_id": "0000000000000000000000000000000000000000",
  "trx_in_block": 4294967295,
  "virtual_op": 9
}
derzareceived 0.001 SP curation reward for @biolegria / volcano-mount-etna
2018/01/15 23:50:09
comment authorbiolegria
comment permlinkvolcano-mount-etna
curatorderza
reward2.047678 VESTS
Transaction InfoBlock #19012832/Virtual Operation #10
View Raw JSON Data
{
  "block": 19012832,
  "op": [
    "curation_reward",
    {
      "comment_author": "biolegria",
      "comment_permlink": "volcano-mount-etna",
      "curator": "derza",
      "reward": "2.047678 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-15T23:50:09",
  "trx_id": "0000000000000000000000000000000000000000",
  "trx_in_block": 4294967295,
  "virtual_op": 10
}
2018/01/15 16:58:09
idfollow
json["follow",{"follower":"derza","following":"mariasundas","what":["blog"]}]
required auths[]
required posting auths["derza"]
Transaction InfoBlock #19004595/Trx 9f0a0b2dc9c0da82c75848a60dc0ab675f7c8611
View Raw JSON Data
{
  "block": 19004595,
  "op": [
    "custom_json",
    {
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"derza\",\"following\":\"mariasundas\",\"what\":[\"blog\"]}]",
      "required_auths": [],
      "required_posting_auths": [
        "derza"
      ]
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-15T16:58:09",
  "trx_id": "9f0a0b2dc9c0da82c75848a60dc0ab675f7c8611",
  "trx_in_block": 10,
  "virtual_op": 0
}
2018/01/15 16:57:54
authormariasundas
permlinkmy-photo-shot-under-the-sea
voterderza
weight10000 (100.00%)
Transaction InfoBlock #19004590/Trx 74aa52c481676c03e267be5cefe3cf3cb8c5b37b
View Raw JSON Data
{
  "block": 19004590,
  "op": [
    "vote",
    {
      "author": "mariasundas",
      "permlink": "my-photo-shot-under-the-sea",
      "voter": "derza",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-15T16:57:54",
  "trx_id": "74aa52c481676c03e267be5cefe3cf3cb8c5b37b",
  "trx_in_block": 10,
  "virtual_op": 0
}
2018/01/15 16:56:09
idfollow
json["follow",{"follower":"derza","following":"jazminmillion","what":["blog"]}]
required auths[]
required posting auths["derza"]
Transaction InfoBlock #19004555/Trx 97925068a6b2ea8b800f7a416e0d0964f3397085
View Raw JSON Data
{
  "block": 19004555,
  "op": [
    "custom_json",
    {
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"derza\",\"following\":\"jazminmillion\",\"what\":[\"blog\"]}]",
      "required_auths": [],
      "required_posting_auths": [
        "derza"
      ]
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-15T16:56:09",
  "trx_id": "97925068a6b2ea8b800f7a416e0d0964f3397085",
  "trx_in_block": 11,
  "virtual_op": 0
}
2018/01/15 16:39:15
authormartaesperanza
permlinksaturday-adventures-my-picture-day-submission
voterderza
weight10000 (100.00%)
Transaction InfoBlock #19004218/Trx 18db1dbf7a981db16c013b02deb2549709ed0308
View Raw JSON Data
{
  "block": 19004218,
  "op": [
    "vote",
    {
      "author": "martaesperanza",
      "permlink": "saturday-adventures-my-picture-day-submission",
      "voter": "derza",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-15T16:39:15",
  "trx_id": "18db1dbf7a981db16c013b02deb2549709ed0308",
  "trx_in_block": 17,
  "virtual_op": 0
}
derzafollowed @xsasj
2018/01/15 16:34:54
idfollow
json["follow",{"follower":"derza","following":"xsasj","what":["blog"]}]
required auths[]
required posting auths["derza"]
Transaction InfoBlock #19004131/Trx 1a52417494cc1e58477f2d1666d39cf95644ff9b
View Raw JSON Data
{
  "block": 19004131,
  "op": [
    "custom_json",
    {
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"derza\",\"following\":\"xsasj\",\"what\":[\"blog\"]}]",
      "required_auths": [],
      "required_posting_auths": [
        "derza"
      ]
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-15T16:34:54",
  "trx_id": "1a52417494cc1e58477f2d1666d39cf95644ff9b",
  "trx_in_block": 24,
  "virtual_op": 0
}
2018/01/15 16:31:15
idfollow
json["follow",{"follower":"derza","following":"funtraveller","what":["blog"]}]
required auths[]
required posting auths["derza"]
Transaction InfoBlock #19004058/Trx aca2a64030dbab12965052f538c5a887d9432d0c
View Raw JSON Data
{
  "block": 19004058,
  "op": [
    "custom_json",
    {
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"derza\",\"following\":\"funtraveller\",\"what\":[\"blog\"]}]",
      "required_auths": [],
      "required_posting_auths": [
        "derza"
      ]
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-15T16:31:15",
  "trx_id": "aca2a64030dbab12965052f538c5a887d9432d0c",
  "trx_in_block": 27,
  "virtual_op": 0
}
derzablockchain operation: transfer to savings
2018/01/13 17:05:00
amount0.002 SBD
fromderza
memo
toderza
Transaction InfoBlock #18947175/Trx 14cd371173c9f89cdd4ca782f1237f36e3825edd
View Raw JSON Data
{
  "block": 18947175,
  "op": [
    "transfer_to_savings",
    {
      "amount": "0.002 SBD",
      "from": "derza",
      "memo": "",
      "to": "derza"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-13T17:05:00",
  "trx_id": "14cd371173c9f89cdd4ca782f1237f36e3825edd",
  "trx_in_block": 37,
  "virtual_op": 0
}
derzaclaimed reward balance: 0.001 SP
2018/01/13 17:03:57
accountderza
reward sbd0.000 SBD
reward steem0.000 STEEM
reward vests2.048207 VESTS
Transaction InfoBlock #18947154/Trx 1fe2bbfd76e05ed9b577094caace5434d1ce3909
View Raw JSON Data
{
  "block": 18947154,
  "op": [
    "claim_reward_balance",
    {
      "account": "derza",
      "reward_sbd": "0.000 SBD",
      "reward_steem": "0.000 STEEM",
      "reward_vests": "2.048207 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-13T17:03:57",
  "trx_id": "1fe2bbfd76e05ed9b577094caace5434d1ce3909",
  "trx_in_block": 13,
  "virtual_op": 0
}
derzareceived 0.001 SP curation reward for @ipa-news / raiblocks-analysis-in-detail
2018/01/10 17:15:39
comment authoripa-news
comment permlinkraiblocks-analysis-in-detail
curatorderza
reward2.048207 VESTS
Transaction InfoBlock #18861089/Virtual Operation #35
View Raw JSON Data
{
  "block": 18861089,
  "op": [
    "curation_reward",
    {
      "comment_author": "ipa-news",
      "comment_permlink": "raiblocks-analysis-in-detail",
      "curator": "derza",
      "reward": "2.048207 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-10T17:15:39",
  "trx_id": "0000000000000000000000000000000000000000",
  "trx_in_block": 4294967295,
  "virtual_op": 35
}
derzaupdated their account properties
2018/01/09 22:43:36
accountderza
json metadata{"profile":{"profile_image":"https://scontent.xx.fbcdn.net/v/t1.0-1/p40x40/13895430_10154399450443799_3800691358817440023_n.jpg?oh=b9470cefb55d9ac6adddd41e79594df2&oe=59B05AA3","name":"Derza","location":"New York City","cover_image":"http://yourshot.nationalgeographic.com/u/ss/fQYSUbVfts-T7Ehj8_lPSALDynd8EvLslLdo55vR6NshFhCn83m-ExKI5XoghwTsTj-vNYyAVRQqMkI-lYQ6_6fhIlhUVt-9XG_d76yIqxEfxayoXOjCqtQiFV1l0ZLMvI2eSgu-TbqZx_2jxotgNXaFCGNLEDhj1K_krGyxcjM0HqPh_3UYHVS-UxWL3R05TfvfZa_NvTQlufJv/"}}
memo keySTM6A4WVPJcsJzCMnbhEvGAHUPSPhRC8Xmw4ZwkM3U63omG4CuX6M
Transaction InfoBlock #18838858/Trx b53a42934c937893579a42b3525255628ed08e36
View Raw JSON Data
{
  "block": 18838858,
  "op": [
    "account_update",
    {
      "account": "derza",
      "json_metadata": "{\"profile\":{\"profile_image\":\"https://scontent.xx.fbcdn.net/v/t1.0-1/p40x40/13895430_10154399450443799_3800691358817440023_n.jpg?oh=b9470cefb55d9ac6adddd41e79594df2&oe=59B05AA3\",\"name\":\"Derza\",\"location\":\"New York City\",\"cover_image\":\"http://yourshot.nationalgeographic.com/u/ss/fQYSUbVfts-T7Ehj8_lPSALDynd8EvLslLdo55vR6NshFhCn83m-ExKI5XoghwTsTj-vNYyAVRQqMkI-lYQ6_6fhIlhUVt-9XG_d76yIqxEfxayoXOjCqtQiFV1l0ZLMvI2eSgu-TbqZx_2jxotgNXaFCGNLEDhj1K_krGyxcjM0HqPh_3UYHVS-UxWL3R05TfvfZa_NvTQlufJv/\"}}",
      "memo_key": "STM6A4WVPJcsJzCMnbhEvGAHUPSPhRC8Xmw4ZwkM3U63omG4CuX6M"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-09T22:43:36",
  "trx_id": "b53a42934c937893579a42b3525255628ed08e36",
  "trx_in_block": 28,
  "virtual_op": 0
}
derzaupdated their account properties
2018/01/09 22:42:27
accountderza
json metadata{"profile":{"profile_image":"https://scontent.xx.fbcdn.net/v/t1.0-1/p40x40/13895430_10154399450443799_3800691358817440023_n.jpg?oh=b9470cefb55d9ac6adddd41e79594df2&oe=59B05AA3","name":"Derza","location":"New York City","cover_image":"http://yourshot.nationalgeographic.com/u/ss/fQYSUbVfts-T7Ehj8_lPSALDynd8EvLslLdo55vR6NshFhCn83m-ExKI5XoghwTkxXfbcpH9lwSq1DvhX15Hn7BLirUbu148ulhyFkfl6FDz0381l8RbVgmHUBn6jJ-nPX0IX8uY45IkfIkefK6VnZinRERcB9Di2UD5MrsGjnqKRhDE7IResYzY8DDiva5Eo5_f4itsfBOqsg/"}}
memo keySTM6A4WVPJcsJzCMnbhEvGAHUPSPhRC8Xmw4ZwkM3U63omG4CuX6M
Transaction InfoBlock #18838835/Trx 1f03cac98af0b295a056cd600dda04398b6ffaa0
View Raw JSON Data
{
  "block": 18838835,
  "op": [
    "account_update",
    {
      "account": "derza",
      "json_metadata": "{\"profile\":{\"profile_image\":\"https://scontent.xx.fbcdn.net/v/t1.0-1/p40x40/13895430_10154399450443799_3800691358817440023_n.jpg?oh=b9470cefb55d9ac6adddd41e79594df2&oe=59B05AA3\",\"name\":\"Derza\",\"location\":\"New York City\",\"cover_image\":\"http://yourshot.nationalgeographic.com/u/ss/fQYSUbVfts-T7Ehj8_lPSALDynd8EvLslLdo55vR6NshFhCn83m-ExKI5XoghwTkxXfbcpH9lwSq1DvhX15Hn7BLirUbu148ulhyFkfl6FDz0381l8RbVgmHUBn6jJ-nPX0IX8uY45IkfIkefK6VnZinRERcB9Di2UD5MrsGjnqKRhDE7IResYzY8DDiva5Eo5_f4itsfBOqsg/\"}}",
      "memo_key": "STM6A4WVPJcsJzCMnbhEvGAHUPSPhRC8Xmw4ZwkM3U63omG4CuX6M"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-09T22:42:27",
  "trx_id": "1f03cac98af0b295a056cd600dda04398b6ffaa0",
  "trx_in_block": 25,
  "virtual_op": 0
}
2018/01/09 22:39:00
authorrea
permlinkthe-amazing-trip-to-windsor-castle-part-iii
voterderza
weight10000 (100.00%)
Transaction InfoBlock #18838766/Trx 7fb8a79128f47b024b1dcd353c748e0fc2a7d777
View Raw JSON Data
{
  "block": 18838766,
  "op": [
    "vote",
    {
      "author": "rea",
      "permlink": "the-amazing-trip-to-windsor-castle-part-iii",
      "voter": "derza",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-09T22:39:00",
  "trx_id": "7fb8a79128f47b024b1dcd353c748e0fc2a7d777",
  "trx_in_block": 49,
  "virtual_op": 0
}
2018/01/09 22:34:39
idfollow
json["follow",{"follower":"derza","following":"benainouna","what":["blog"]}]
required auths[]
required posting auths["derza"]
Transaction InfoBlock #18838679/Trx 89bfcda2baf2f471b524f4b5750864689e3542bc
View Raw JSON Data
{
  "block": 18838679,
  "op": [
    "custom_json",
    {
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"derza\",\"following\":\"benainouna\",\"what\":[\"blog\"]}]",
      "required_auths": [],
      "required_posting_auths": [
        "derza"
      ]
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-09T22:34:39",
  "trx_id": "89bfcda2baf2f471b524f4b5750864689e3542bc",
  "trx_in_block": 52,
  "virtual_op": 0
}
2018/01/09 22:34:30
authorbenainouna
permlinksilicium-the-fundamental-element-of-the-earth-s-crust
voterderza
weight10000 (100.00%)
Transaction InfoBlock #18838676/Trx a3f2a3adf973f716e83a8f176024ae7e3a53a6de
View Raw JSON Data
{
  "block": 18838676,
  "op": [
    "vote",
    {
      "author": "benainouna",
      "permlink": "silicium-the-fundamental-element-of-the-earth-s-crust",
      "voter": "derza",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-09T22:34:30",
  "trx_id": "a3f2a3adf973f716e83a8f176024ae7e3a53a6de",
  "trx_in_block": 44,
  "virtual_op": 0
}
2018/01/09 22:33:39
authorbenainouna
permlinkhow-to-produce-aspirin
voterderza
weight10000 (100.00%)
Transaction InfoBlock #18838659/Trx e834b4f90cfa571dee2528e264ef7bae27da698c
View Raw JSON Data
{
  "block": 18838659,
  "op": [
    "vote",
    {
      "author": "benainouna",
      "permlink": "how-to-produce-aspirin",
      "voter": "derza",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-01-09T22:33:39",
  "trx_id": "e834b4f90cfa571dee2528e264ef7bae27da698c",
  "trx_in_block": 45,
  "virtual_op": 0
}

Account Metadata

POSTING JSON METADATA
profile{"profile_image":"https://cdn.steemitimages.com/DQmP35tuFu9K2qWstFe2NyYR5FeRmryCbrHdsxELzhwCYuj/13895430_10154399450443799_3800691358817440023_n.jpg","name":"Derza","location":"New York City","cover_image":"http://yourshot.nationalgeographic.com/u/ss/fQYSUbVfts-T7Ehj8_lPSALDynd8EvLslLdo55vR6NshFhCn83m-ExKI5XoghwTsTj-vNYyAVRQqMkI-lYQ6_6fhIlhUVt-9XG_d76yIqxEfxayoXOjCqtQiFV1l0ZLMvI2eSgu-TbqZx_2jxotgNXaFCGNLEDhj1K_krGyxcjM0HqPh_3UYHVS-UxWL3R05TfvfZa_NvTQlufJv/"}
JSON METADATA
profile{"profile_image":"https://cdn.steemitimages.com/DQmP35tuFu9K2qWstFe2NyYR5FeRmryCbrHdsxELzhwCYuj/13895430_10154399450443799_3800691358817440023_n.jpg","name":"Derza","location":"New York City","cover_image":"http://yourshot.nationalgeographic.com/u/ss/fQYSUbVfts-T7Ehj8_lPSALDynd8EvLslLdo55vR6NshFhCn83m-ExKI5XoghwTsTj-vNYyAVRQqMkI-lYQ6_6fhIlhUVt-9XG_d76yIqxEfxayoXOjCqtQiFV1l0ZLMvI2eSgu-TbqZx_2jxotgNXaFCGNLEDhj1K_krGyxcjM0HqPh_3UYHVS-UxWL3R05TfvfZa_NvTQlufJv/"}
{
  "posting_json_metadata": {
    "profile": {
      "profile_image": "https://cdn.steemitimages.com/DQmP35tuFu9K2qWstFe2NyYR5FeRmryCbrHdsxELzhwCYuj/13895430_10154399450443799_3800691358817440023_n.jpg",
      "name": "Derza",
      "location": "New York City",
      "cover_image": "http://yourshot.nationalgeographic.com/u/ss/fQYSUbVfts-T7Ehj8_lPSALDynd8EvLslLdo55vR6NshFhCn83m-ExKI5XoghwTsTj-vNYyAVRQqMkI-lYQ6_6fhIlhUVt-9XG_d76yIqxEfxayoXOjCqtQiFV1l0ZLMvI2eSgu-TbqZx_2jxotgNXaFCGNLEDhj1K_krGyxcjM0HqPh_3UYHVS-UxWL3R05TfvfZa_NvTQlufJv/"
    }
  },
  "json_metadata": {
    "profile": {
      "profile_image": "https://cdn.steemitimages.com/DQmP35tuFu9K2qWstFe2NyYR5FeRmryCbrHdsxELzhwCYuj/13895430_10154399450443799_3800691358817440023_n.jpg",
      "name": "Derza",
      "location": "New York City",
      "cover_image": "http://yourshot.nationalgeographic.com/u/ss/fQYSUbVfts-T7Ehj8_lPSALDynd8EvLslLdo55vR6NshFhCn83m-ExKI5XoghwTsTj-vNYyAVRQqMkI-lYQ6_6fhIlhUVt-9XG_d76yIqxEfxayoXOjCqtQiFV1l0ZLMvI2eSgu-TbqZx_2jxotgNXaFCGNLEDhj1K_krGyxcjM0HqPh_3UYHVS-UxWL3R05TfvfZa_NvTQlufJv/"
    }
  }
}

Auth Keys

Owner
Single Signature
Public Keys
STM7W9iLcLZLtNJ4jJYMBRtTQYpA8UEEsmKKgphJcg3WYdPDfFsCr1/1
Active
Single Signature
Public Keys
STM7PGqFB5jmpBFqvsVoe8X9DF5xuroSQ2GFpZDcnszZQtw9vZ9Tc1/1
Posting
Single Signature
Public Keys
STM88k6uhKRGhSJv9pL7vK23KGRcnPKB9ov5BgnVev8q9mcXam6ZH1/1
Memo
STM6A4WVPJcsJzCMnbhEvGAHUPSPhRC8Xmw4ZwkM3U63omG4CuX6M
{
  "owner": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM7W9iLcLZLtNJ4jJYMBRtTQYpA8UEEsmKKgphJcg3WYdPDfFsCr",
        1
      ]
    ]
  },
  "active": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM7PGqFB5jmpBFqvsVoe8X9DF5xuroSQ2GFpZDcnszZQtw9vZ9Tc",
        1
      ]
    ]
  },
  "posting": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM88k6uhKRGhSJv9pL7vK23KGRcnPKB9ov5BgnVev8q9mcXam6ZH",
        1
      ]
    ]
  },
  "memo": "STM6A4WVPJcsJzCMnbhEvGAHUPSPhRC8Xmw4ZwkM3U63omG4CuX6M"
}

Witness Votes

0 / 30
No active witness votes.
[]