Ecoer Logo

@michaelzinn

30

@RedNifre on Twitter

steemit.com/@michaelzinn
VOTING POWER100.00%
DOWNVOTE POWER100.00%
RESOURCE CREDITS100.00%
REPUTATION PROGRESS91.96%
Net Worth
0.185USD
STEEM
0.002STEEM
SBD
0.370SBD
Effective Power
5.007SP
├── Own SP
0.126SP
└── Incoming Deleg
+4.881SP

Detailed Balance

STEEM
balance
0.000STEEM
market_balance
0.000STEEM
savings_balance
0.000STEEM
reward_steem_balance
0.002STEEM
STEEM POWER
Own SP
0.126SP
Delegated Out
0.000SP
Delegation In
4.881SP
Effective Power
5.007SP
Reward SP (pending)
0.178SP
SBD
sbd_balance
0.002SBD
sbd_conversions
0.000SBD
sbd_market_balance
0.000SBD
savings_sbd_balance
0.000SBD
reward_sbd_balance
0.368SBD
{
  "balance": "0.000 STEEM",
  "savings_balance": "0.000 STEEM",
  "reward_steem_balance": "0.002 STEEM",
  "vesting_shares": "204.180350 VESTS",
  "delegated_vesting_shares": "0.000000 VESTS",
  "received_vesting_shares": "7939.479456 VESTS",
  "sbd_balance": "0.002 SBD",
  "savings_sbd_balance": "0.000 SBD",
  "reward_sbd_balance": "0.368 SBD",
  "conversions": []
}

Account Info

namemichaelzinn
id821387
rank246,929
reputation3520631237
created2018-03-12T12:20:36
recovery_accountsteem
proxyNone
post_count8
comment_count0
lifetime_vote_count0
witnesses_voted_for0
last_post2019-06-13T18:10:42
last_root_post2018-05-12T20:21:36
last_vote_time2018-07-14T08:04:21
proxied_vsf_votes0, 0, 0, 0
can_vote1
voting_power0
delayed_votes0
balance0.000 STEEM
savings_balance0.000 STEEM
sbd_balance0.002 SBD
savings_sbd_balance0.000 SBD
vesting_shares204.180350 VESTS
delegated_vesting_shares0.000000 VESTS
received_vesting_shares7939.479456 VESTS
reward_vesting_balance363.083670 VESTS
vesting_balance0.000 STEEM
vesting_withdraw_rate0.000000 VESTS
next_vesting_withdrawal1969-12-31T23:59:59
withdrawn0
to_withdraw0
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-13T09:04:09
minedNo
sbd_seconds0
sbd_last_interest_payment1970-01-01T00:00:00
savings_sbd_last_interest_payment1970-01-01T00:00:00
{
  "active": {
    "account_auths": [],
    "key_auths": [
      [
        "STM65ipy4JEyrtF6nXzh1Fd1QewXMD3K2bBBhpmuRfSFFKmWtqhSb",
        1
      ]
    ],
    "weight_threshold": 1
  },
  "balance": "0.000 STEEM",
  "can_vote": true,
  "comment_count": 0,
  "created": "2018-03-12T12:20:36",
  "curation_rewards": 0,
  "delegated_vesting_shares": "0.000000 VESTS",
  "downvote_manabar": {
    "current_mana": 2035914951,
    "last_update_time": 1779075894
  },
  "guest_bloggers": [],
  "id": 821387,
  "json_metadata": "{\"profile\":{\"profile_image\":\"https://pbs.twimg.com/profile_images/984835492796686336/4OR_3y3L_400x400.jpg\",\"name\":\"Michael Zinn\",\"about\":\"@RedNifre on Twitter\"}}",
  "last_account_recovery": "1970-01-01T00:00:00",
  "last_account_update": "2018-05-13T09:04:09",
  "last_owner_update": "1970-01-01T00:00:00",
  "last_post": "2019-06-13T18:10:42",
  "last_root_post": "2018-05-12T20:21:36",
  "last_vote_time": "2018-07-14T08:04:21",
  "lifetime_vote_count": 0,
  "market_history": [],
  "memo_key": "STM7ph9b8tkxn27cuUWKTFZNLtinC1hbRafb5EmKwLWsE2BPNoWSt",
  "mined": false,
  "name": "michaelzinn",
  "next_vesting_withdrawal": "1969-12-31T23:59:59",
  "other_history": [],
  "owner": {
    "account_auths": [],
    "key_auths": [
      [
        "STM6xoJ8hbAhUpXXsJrL8KYNwBooXtogxWRw4J3Dbo81PywNfUKPZ",
        1
      ]
    ],
    "weight_threshold": 1
  },
  "pending_claimed_accounts": 0,
  "post_bandwidth": 0,
  "post_count": 8,
  "post_history": [],
  "posting": {
    "account_auths": [],
    "key_auths": [
      [
        "STM8VJ3gTkuJL5TmzwoN98mNfNJ4QcPywMofDvDG3FY49ajFm3vRJ",
        1
      ]
    ],
    "weight_threshold": 1
  },
  "posting_json_metadata": "{\"profile\":{\"profile_image\":\"https://pbs.twimg.com/profile_images/984835492796686336/4OR_3y3L_400x400.jpg\",\"name\":\"Michael Zinn\",\"about\":\"@RedNifre on Twitter\"}}",
  "posting_rewards": 354,
  "proxied_vsf_votes": [
    0,
    0,
    0,
    0
  ],
  "proxy": "",
  "received_vesting_shares": "7939.479456 VESTS",
  "recovery_account": "steem",
  "reputation": 3520631237,
  "reset_account": "null",
  "reward_sbd_balance": "0.368 SBD",
  "reward_steem_balance": "0.002 STEEM",
  "reward_vesting_balance": "363.083670 VESTS",
  "reward_vesting_steem": "0.178 STEEM",
  "savings_balance": "0.000 STEEM",
  "savings_sbd_balance": "0.000 SBD",
  "savings_sbd_last_interest_payment": "1970-01-01T00:00:00",
  "savings_sbd_seconds": "0",
  "savings_sbd_seconds_last_update": "1970-01-01T00:00:00",
  "savings_withdraw_requests": 0,
  "sbd_balance": "0.002 SBD",
  "sbd_last_interest_payment": "1970-01-01T00:00:00",
  "sbd_seconds": "0",
  "sbd_seconds_last_update": "2018-03-18T22:02:12",
  "tags_usage": [],
  "to_withdraw": 0,
  "transfer_history": [],
  "vesting_balance": "0.000 STEEM",
  "vesting_shares": "204.180350 VESTS",
  "vesting_withdraw_rate": "0.000000 VESTS",
  "vote_history": [],
  "voting_manabar": {
    "current_mana": "8143659806",
    "last_update_time": 1779075894
  },
  "voting_power": 0,
  "withdraw_routes": 0,
  "withdrawn": 0,
  "witness_votes": [],
  "witnesses_voted_for": 0,
  "rank": 246929
}

Withdraw Routes

IncomingOutgoing
Empty
Empty
{
  "incoming": [],
  "outgoing": []
}
From Date
To Date
steemdelegated 4.881 SP to @michaelzinn
2026/05/18 03:44:54
delegateemichaelzinn
delegatorsteem
vesting shares7939.479456 VESTS
Transaction InfoBlock #106147621/Trx 95cd151e5804cb61ca5ed347444d894035c127b8
View Raw JSON Data
{
  "block": 106147621,
  "op": [
    "delegate_vesting_shares",
    {
      "delegatee": "michaelzinn",
      "delegator": "steem",
      "vesting_shares": "7939.479456 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2026-05-18T03:44:54",
  "trx_id": "95cd151e5804cb61ca5ed347444d894035c127b8",
  "trx_in_block": 0,
  "virtual_op": 0
}
steemdelegated 3.214 SP to @michaelzinn
2026/05/12 18:00:33
delegateemichaelzinn
delegatorsteem
vesting shares5227.269051 VESTS
Transaction InfoBlock #105992675/Trx 0da63bc427df4bab81c09b502ab8bb5fc59aaeb7
View Raw JSON Data
{
  "block": 105992675,
  "op": [
    "delegate_vesting_shares",
    {
      "delegatee": "michaelzinn",
      "delegator": "steem",
      "vesting_shares": "5227.269051 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2026-05-12T18:00:33",
  "trx_id": "0da63bc427df4bab81c09b502ab8bb5fc59aaeb7",
  "trx_in_block": 0,
  "virtual_op": 0
}
steemdelegated 4.889 SP to @michaelzinn
2026/04/26 03:00:18
delegateemichaelzinn
delegatorsteem
vesting shares7951.995212 VESTS
Transaction InfoBlock #105515174/Trx 184b7c2d536646a6b4f94a6eb6042202f4a6b681
View Raw JSON Data
{
  "block": 105515174,
  "op": [
    "delegate_vesting_shares",
    {
      "delegatee": "michaelzinn",
      "delegator": "steem",
      "vesting_shares": "7951.995212 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2026-04-26T03:00:18",
  "trx_id": "184b7c2d536646a6b4f94a6eb6042202f4a6b681",
  "trx_in_block": 3,
  "virtual_op": 0
}
steemdelegated 3.239 SP to @michaelzinn
2026/01/23 17:10:42
delegateemichaelzinn
delegatorsteem
vesting shares5268.815870 VESTS
Transaction InfoBlock #102863047/Trx c64b6af376e5e7be47d50c32ee6215b0b0c7abdf
View Raw JSON Data
{
  "block": 102863047,
  "op": [
    "delegate_vesting_shares",
    {
      "delegatee": "michaelzinn",
      "delegator": "steem",
      "vesting_shares": "5268.815870 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2026-01-23T17:10:42",
  "trx_id": "c64b6af376e5e7be47d50c32ee6215b0b0c7abdf",
  "trx_in_block": 1,
  "virtual_op": 0
}
steemdelegated 3.340 SP to @michaelzinn
2024/12/17 12:23:39
delegateemichaelzinn
delegatorsteem
vesting shares5433.035067 VESTS
Transaction InfoBlock #91309319/Trx fc5d2fa08ac88ffff2adf0e6181da17c4d3ade68
View Raw JSON Data
{
  "block": 91309319,
  "op": [
    "delegate_vesting_shares",
    {
      "delegatee": "michaelzinn",
      "delegator": "steem",
      "vesting_shares": "5433.035067 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2024-12-17T12:23:39",
  "trx_id": "fc5d2fa08ac88ffff2adf0e6181da17c4d3ade68",
  "trx_in_block": 8,
  "virtual_op": 0
}
steemdelegated 3.444 SP to @michaelzinn
2023/11/14 04:05:33
delegateemichaelzinn
delegatorsteem
vesting shares5602.168599 VESTS
Transaction InfoBlock #79863494/Trx 8461c295021faf1b693c4b2f1dd4b3a9f38ce67b
View Raw JSON Data
{
  "block": 79863494,
  "op": [
    "delegate_vesting_shares",
    {
      "delegatee": "michaelzinn",
      "delegator": "steem",
      "vesting_shares": "5602.168599 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2023-11-14T04:05:33",
  "trx_id": "8461c295021faf1b693c4b2f1dd4b3a9f38ce67b",
  "trx_in_block": 2,
  "virtual_op": 0
}
steemdelegated 5.250 SP to @michaelzinn
2023/09/22 01:56:27
delegateemichaelzinn
delegatorsteem
vesting shares8539.447385 VESTS
Transaction InfoBlock #78352750/Trx 337cb81623fadb3cebdcd9cd2074ba64f423c08d
View Raw JSON Data
{
  "block": 78352750,
  "op": [
    "delegate_vesting_shares",
    {
      "delegatee": "michaelzinn",
      "delegator": "steem",
      "vesting_shares": "8539.447385 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2023-09-22T01:56:27",
  "trx_id": "337cb81623fadb3cebdcd9cd2074ba64f423c08d",
  "trx_in_block": 2,
  "virtual_op": 0
}
steemdelegated 5.386 SP to @michaelzinn
2022/11/03 15:13:48
delegateemichaelzinn
delegatorsteem
vesting shares8761.128823 VESTS
Transaction InfoBlock #69117472/Trx 3d0dd86fe98e05646e8b078213e86534cda423fb
View Raw JSON Data
{
  "block": 69117472,
  "op": [
    "delegate_vesting_shares",
    {
      "delegatee": "michaelzinn",
      "delegator": "steem",
      "vesting_shares": "8761.128823 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2022-11-03T15:13:48",
  "trx_id": "3d0dd86fe98e05646e8b078213e86534cda423fb",
  "trx_in_block": 5,
  "virtual_op": 0
}
steemdelegated 5.521 SP to @michaelzinn
2022/01/17 20:40:42
delegateemichaelzinn
delegatorsteem
vesting shares8981.236424 VESTS
Transaction InfoBlock #60821020/Trx 26d89fd291e38d08d8a0025b9ad3c45718bbcbfe
View Raw JSON Data
{
  "block": 60821020,
  "op": [
    "delegate_vesting_shares",
    {
      "delegatee": "michaelzinn",
      "delegator": "steem",
      "vesting_shares": "8981.236424 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2022-01-17T20:40:42",
  "trx_id": "26d89fd291e38d08d8a0025b9ad3c45718bbcbfe",
  "trx_in_block": 0,
  "virtual_op": 0
}
steemdelegated 5.635 SP to @michaelzinn
2021/06/14 03:58:09
delegateemichaelzinn
delegatorsteem
vesting shares9165.430712 VESTS
Transaction InfoBlock #54611486/Trx 5ff54b36bb428df8e093814166952c32d445d077
View Raw JSON Data
{
  "block": 54611486,
  "op": [
    "delegate_vesting_shares",
    {
      "delegatee": "michaelzinn",
      "delegator": "steem",
      "vesting_shares": "9165.430712 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2021-06-14T03:58:09",
  "trx_id": "5ff54b36bb428df8e093814166952c32d445d077",
  "trx_in_block": 1,
  "virtual_op": 0
}
steemdelegated 5.750 SP to @michaelzinn
2020/12/11 14:12:57
delegateemichaelzinn
delegatorsteem
vesting shares9352.852686 VESTS
Transaction InfoBlock #49358825/Trx 2a41b86fdc5f47095d388e78a183ba6e0aa26483
View Raw JSON Data
{
  "block": 49358825,
  "op": [
    "delegate_vesting_shares",
    {
      "delegatee": "michaelzinn",
      "delegator": "steem",
      "vesting_shares": "9352.852686 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2020-12-11T14:12:57",
  "trx_id": "2a41b86fdc5f47095d388e78a183ba6e0aa26483",
  "trx_in_block": 2,
  "virtual_op": 0
}
steemdelegated 1.176 SP to @michaelzinn
2020/12/06 07:48:57
delegateemichaelzinn
delegatorsteem
vesting shares1912.543513 VESTS
Transaction InfoBlock #49210355/Trx 51fa184e7142e3b73eebab0c751b0e1e9cefe8f4
View Raw JSON Data
{
  "block": 49210355,
  "op": [
    "delegate_vesting_shares",
    {
      "delegatee": "michaelzinn",
      "delegator": "steem",
      "vesting_shares": "1912.543513 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2020-12-06T07:48:57",
  "trx_id": "51fa184e7142e3b73eebab0c751b0e1e9cefe8f4",
  "trx_in_block": 8,
  "virtual_op": 0
}
steemdelegated 5.754 SP to @michaelzinn
2020/12/05 17:50:45
delegateemichaelzinn
delegatorsteem
vesting shares9359.060540 VESTS
Transaction InfoBlock #49193909/Trx 1c55930c5669894f087b4423056ddbbcae9c6c06
View Raw JSON Data
{
  "block": 49193909,
  "op": [
    "delegate_vesting_shares",
    {
      "delegatee": "michaelzinn",
      "delegator": "steem",
      "vesting_shares": "9359.060540 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2020-12-05T17:50:45",
  "trx_id": "1c55930c5669894f087b4423056ddbbcae9c6c06",
  "trx_in_block": 1,
  "virtual_op": 0
}
steemdelegated 1.180 SP to @michaelzinn
2020/11/02 22:03:24
delegateemichaelzinn
delegatorsteem
vesting shares1920.017158 VESTS
Transaction InfoBlock #48265360/Trx cc49eb9765d1576e6a7fc70f0c40d386bd67a788
View Raw JSON Data
{
  "block": 48265360,
  "op": [
    "delegate_vesting_shares",
    {
      "delegatee": "michaelzinn",
      "delegator": "steem",
      "vesting_shares": "1920.017158 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2020-11-02T22:03:24",
  "trx_id": "cc49eb9765d1576e6a7fc70f0c40d386bd67a788",
  "trx_in_block": 3,
  "virtual_op": 0
}
steemdelegated 5.878 SP to @michaelzinn
2020/05/09 08:49:51
delegateemichaelzinn
delegatorsteem
vesting shares9561.865899 VESTS
Transaction InfoBlock #43220655/Trx d51b9764112021c3f1ffec8e62de694d9d5a9ee7
View Raw JSON Data
{
  "block": 43220655,
  "op": [
    "delegate_vesting_shares",
    {
      "delegatee": "michaelzinn",
      "delegator": "steem",
      "vesting_shares": "9561.865899 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2020-05-09T08:49:51",
  "trx_id": "d51b9764112021c3f1ffec8e62de694d9d5a9ee7",
  "trx_in_block": 14,
  "virtual_op": 0
}
steemdelegated 1.201 SP to @michaelzinn
2020/05/08 12:54:09
delegateemichaelzinn
delegatorsteem
vesting shares1953.311140 VESTS
Transaction InfoBlock #43197306/Trx f37db1ec4d1fe56e6cd9b0d184a64ef03f7cce12
View Raw JSON Data
{
  "block": 43197306,
  "op": [
    "delegate_vesting_shares",
    {
      "delegatee": "michaelzinn",
      "delegator": "steem",
      "vesting_shares": "1953.311140 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2020-05-08T12:54:09",
  "trx_id": "f37db1ec4d1fe56e6cd9b0d184a64ef03f7cce12",
  "trx_in_block": 4,
  "virtual_op": 0
}
2020/03/12 13:08:12
authorsteemitboard
bodyCongratulations @michaelzinn! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@michaelzinn/birthday2.png</td><td>Happy Steem 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/@michaelzinn) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=michaelzinn)_</sub> **Do not miss the last post from @steemitboard:** <table><tr><td><a href="https://steemit.com/steemitboard/@steemitboard/downvote-challenge-add-up-to-3-funny-badges-to-your-board"><img src="https://steemitimages.com/64x128/https://steemitimages.com/0x0/![](https://cdn.steemitimages.com/DQmUuJkZdnSpHVWssxF82ntymqXg4Pvk6K6bYvckUYVRsnj/image.png)"></a></td><td><a href="https://steemit.com/steemitboard/@steemitboard/downvote-challenge-add-up-to-3-funny-badges-to-your-board">Downvote challenge - Add up to 3 funny badges to your board</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 authormichaelzinn
parent permlinkbabbage-s-difference-engine-in-brainfuck-on-a-calculator
permlinksteemitboard-notify-michaelzinn-20200312t130812000z
title
Transaction InfoBlock #41587700/Trx 5179f0ed9142396a927ee7002f5a9988294300cb
View Raw JSON Data
{
  "block": 41587700,
  "op": [
    "comment",
    {
      "author": "steemitboard",
      "body": "Congratulations @michaelzinn! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@michaelzinn/birthday2.png</td><td>Happy Steem 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/@michaelzinn) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=michaelzinn)_</sub>\n\n\n**Do not miss the last post from @steemitboard:**\n<table><tr><td><a href=\"https://steemit.com/steemitboard/@steemitboard/downvote-challenge-add-up-to-3-funny-badges-to-your-board\"><img src=\"https://steemitimages.com/64x128/https://steemitimages.com/0x0/![](https://cdn.steemitimages.com/DQmUuJkZdnSpHVWssxF82ntymqXg4Pvk6K6bYvckUYVRsnj/image.png)\"></a></td><td><a href=\"https://steemit.com/steemitboard/@steemitboard/downvote-challenge-add-up-to-3-funny-badges-to-your-board\">Downvote challenge - Add up to 3 funny badges to your board</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": "michaelzinn",
      "parent_permlink": "babbage-s-difference-engine-in-brainfuck-on-a-calculator",
      "permlink": "steemitboard-notify-michaelzinn-20200312t130812000z",
      "title": ""
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2020-03-12T13:08:12",
  "trx_id": "5179f0ed9142396a927ee7002f5a9988294300cb",
  "trx_in_block": 5,
  "virtual_op": 0
}
steemdelegated 5.962 SP to @michaelzinn
2019/09/12 20:11:00
delegateemichaelzinn
delegatorsteem
vesting shares9697.712306 VESTS
Transaction InfoBlock #36365935/Trx 640a2cd717eb1f12bfecab4f76495dbaf1603797
View Raw JSON Data
{
  "block": 36365935,
  "op": [
    "delegate_vesting_shares",
    {
      "delegatee": "michaelzinn",
      "delegator": "steem",
      "vesting_shares": "9697.712306 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2019-09-12T20:11:00",
  "trx_id": "640a2cd717eb1f12bfecab4f76495dbaf1603797",
  "trx_in_block": 2,
  "virtual_op": 0
}
steemdelegated 18.237 SP to @michaelzinn
2019/06/13 19:56:57
delegateemichaelzinn
delegatorsteem
vesting shares29663.531856 VESTS
Transaction InfoBlock #33772246/Trx e890a51a10427d0b7145cced99f4006a0a8ebd57
View Raw JSON Data
{
  "block": 33772246,
  "op": [
    "delegate_vesting_shares",
    {
      "delegatee": "michaelzinn",
      "delegator": "steem",
      "vesting_shares": "29663.531856 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2019-06-13T19:56:57",
  "trx_id": "e890a51a10427d0b7145cced99f4006a0a8ebd57",
  "trx_in_block": 8,
  "virtual_op": 0
}
2019/06/13 18:10:42
authormichaelzinn
bodyI finally figured out how the serial connection works so here is a DM15 M1B friendly memory dump for SwissMicros users: DM15_M1B 04 000000fffff000 00000000000008 0000000000000c 00000000000eae 08 00000000000000 2faf8befbe2280 00000000000000 00000000000000 14 00000000000000 1b2d2d2d2d2d2d 000000000006e7 00000000000000 18 00000000000000 0000000000007f 00000000a00000 00000000000000 e4 00000000000000 00000000000000 00000000000000 00b2ebfcf0f1a3 e8 fdc586ccfbc5b1 fcf0f1a397fdf0 f10eb286971e50 ff3000ff1980df ec c351fff1b2ec32 a2df75f1fbf720 ff82df75f1fbf6 20ff0931ff42f0 f0 b2ec8697310819 41ff42f0b27086 973107b29649ff c239ffa2973106 f4 b2dc86973105b2 bddff1973104b2 9ddff1973103b2 81dff102b2a1df f8 f101c2b400b212 ff9596a251ff31 ffec8602ff97f9 f1f0c0f341ff0c fc 11ff80dff18997 20ff01ff42f041 f9f140fc50fff3 c1f0f12c60ff0b A: 000000fffff000 B: 000000fffffeae C: 00000000000eae S: 00000000000000 M: 395033178ff000 N: 00000000000000 G: 04 ...and if you want to enter the code by hand here is a debug friendly program listing: 001 LBL B | 42,21,12 002 FIX 0 | 42, 7, 0 003 GSB C | 32 13 004 1 | 1 005 0 | 0 006 ENTER | 36 007 3 | 3 008 F? 0 | 43, 6, 0 009 * | 20 010 STO 0 | 44 0 011 1 | 1 012 9 | 9 013 STO 1 | 44 1 014 0 | 0 015 STO 2 | 44 2 016 LBL .1 | 42,21,.1 017 GSB .0 | 32 .0 018 STO I | 44 25 019 GSB I | 32 25 020 1 | 1 021 STO+0 | 44,40, 0 022 GTO .1 | 22 .1 023 LBL C | 42,21,13 024 CF 1 | 43, 5, 1 025 3 | 3 026 . | 48 027 0 | 0 028 1 | 1 029 9 | 9 030 STO I | 44 25 031 LBL .2 | 42,21,.2 032 RCL (i) | 45 24 033 x=0 | 43 20 034 SF 1 | 43, 4, 1 035 F? 1 | 43, 6, 1 036 CLx | 43 35 037 STO (i) | 44 24 038 ISG I | 42, 6,25 039 GTO .2 | 22 .2 040 RTN | 43 32 041 LBL 0 | 42,21, 0 042 R_up | 43 33 043 R/S | 31 044 LBL 1 | 42,21, 1 045 1 | 1 046 STO-1 | 44,30, 1 047 RTN | 43 32 048 LBL 2 | 42,21, 2 049 1 | 1 050 STO+1 | 44,40, 1 051 RTN | 43 32 052 LBL 3 | 42,21, 3 053 RCL 1 | 45 1 054 STO I | 44 25 055 1 | 1 056 STO+(i) | 44,40,24 057 RTN | 43 32 058 LBL 4 | 42,21, 4 059 RCL 1 | 45 1 060 STO I | 44 25 061 1 | 1 062 STO-(i) | 44,30,24 063 RTN | 43 32 064 LBL 5 | 42,21, 5 065 RCL 1 | 45 1 066 STO I | 44 25 067 RCL (i) | 45 24 068 PSE | 42 31 069 RTN | 43 32 070 LBL 6 | 42,21, 6 071 RCL 1 | 45 1 072 STO I | 44 25 073 CLx | 43 35 074 SF 9 | 43, 4, 9 075 R/S | 31 076 CF 9 | 43, 5, 9 077 STO (i) | 44 24 078 RTN | 43 32 079 LBL 7 | 42,21, 7 080 RCL 1 | 45 1 081 STO I | 44 25 082 RCL (i) | 45 24 083 TEST 0 | 43,30, 0 084 RTN | 43 32 085 0 | 0 086 STO 2 | 44 2 087 CF 1 | 43, 5, 1 088 GTO 9 | 22 9 089 LBL 8 | 42,21, 8 090 RCL 1 | 45 1 091 STO I | 44 25 092 RCL (i) | 45 24 093 x=0 | 43 20 094 RTN | 43 32 095 0 | 0 096 STO 2 | 44 2 097 SF 1 | 43, 4, 1 098 LBL 9 | 42,21, 9 099 GSB .0 | 32 .0 100 6 | 6 101 - | 30 102 1 | 1 103 TEST 5 | 43,30, 5 104 STO+2 | 44,40, 2 105 GSB .0 | 32 .0 106 7 | 7 107 - | 30 108 1 | 1 109 TEST 5 | 43,30, 5 110 STO-2 | 44,30, 2 111 RCL 2 | 45 2 112 x=0 | 43 20 113 RTN | 43 32 114 1 | 1 115 F? 1 | 43, 6, 1 116 CHS | 16 117 STO+0 | 44,40, 0 118 GTO 9 | 22 9 119 LBL .0 | 42,21,.0 120 RCL 0 | 45 0 121 F? 0 | 43, 6, 0 122 GTO E | 22 15 123 STO I | 44 25 124 RCL (i) | 45 24 125 RTN | 43 32 126 LBL E | 42,21,15 127 1 | 1 128 0 | 0 129 / | 10 130 STO I | 44 25 131 FRAC | 42 44 132 1 | 1 133 0 | 0 134 * | 20 135 LSTx | 43 36 136 x<>y | 34 137 - | 30 138 10^x | 13 139 RCL (i) | 45 24 140 x<>y | 34 141 / | 10 142 FRAC | 42 44 143 1 | 1 144 0 | 0 145 * | 20 146 INT | 43 44 147 RTN | 43 32
json metadata{"tags":["programming"],"app":"steemit/0.1"}
parent authormichaelzinn
parent permlinkbabbage-s-difference-engine-in-brainfuck-on-a-calculator
permlinkpt1uhs
title
Transaction InfoBlock #33770121/Trx 78e371b5c56078abe82390a53affcde535a4e319
View Raw JSON Data
{
  "block": 33770121,
  "op": [
    "comment",
    {
      "author": "michaelzinn",
      "body": "I finally figured out how the serial connection works so here is a DM15 M1B friendly memory dump for SwissMicros users:\n\nDM15_M1B\n04  000000fffff000  00000000000008  0000000000000c  00000000000eae\n08  00000000000000  2faf8befbe2280  00000000000000  00000000000000\n14  00000000000000  1b2d2d2d2d2d2d  000000000006e7  00000000000000\n18  00000000000000  0000000000007f  00000000a00000  00000000000000\ne4  00000000000000  00000000000000  00000000000000  00b2ebfcf0f1a3\ne8  fdc586ccfbc5b1  fcf0f1a397fdf0  f10eb286971e50  ff3000ff1980df\nec  c351fff1b2ec32  a2df75f1fbf720  ff82df75f1fbf6  20ff0931ff42f0\nf0  b2ec8697310819  41ff42f0b27086  973107b29649ff  c239ffa2973106\nf4  b2dc86973105b2  bddff1973104b2  9ddff1973103b2  81dff102b2a1df\nf8  f101c2b400b212  ff9596a251ff31  ffec8602ff97f9  f1f0c0f341ff0c\nfc  11ff80dff18997  20ff01ff42f041  f9f140fc50fff3  c1f0f12c60ff0b\nA: 000000fffff000  B: 000000fffffeae  C: 00000000000eae\nS: 00000000000000\nM: 395033178ff000  N: 00000000000000  G: 04\n\n...and if you want to enter the code by hand here is a debug friendly program listing:\n\n001  LBL B        | 42,21,12\n002  FIX 0        | 42, 7, 0\n003  GSB C        |   32  13\n004  1            |        1\n005  0            |        0\n006  ENTER        |       36\n007  3            |        3\n008  F? 0         | 43, 6, 0\n009  *            |       20\n010  STO 0        |    44  0\n011  1            |        1\n012  9            |        9\n013  STO 1        |    44  1\n014  0            |        0\n015  STO 2        |    44  2\n016  LBL .1       | 42,21,.1\n017  GSB .0       |    32 .0\n018  STO I        |   44  25\n019  GSB I        |   32  25\n020  1            |        1\n021  STO+0        | 44,40, 0\n022  GTO .1       |    22 .1\n023  LBL C        | 42,21,13\n024  CF 1         | 43, 5, 1\n025  3            |        3\n026  .            |       48\n027  0            |        0\n028  1            |        1\n029  9            |        9\n030  STO I        |   44  25\n031  LBL .2       | 42,21,.2\n032  RCL (i)      |   45  24\n033  x=0          |   43  20\n034  SF 1         | 43, 4, 1\n035  F? 1         | 43, 6, 1\n036  CLx          |   43  35\n037  STO (i)      |   44  24\n038  ISG I        | 42, 6,25\n039  GTO .2       |    22 .2\n040  RTN          |   43  32\n041  LBL 0        | 42,21, 0\n042  R_up         |   43  33\n043  R/S          |       31\n044  LBL 1        | 42,21, 1\n045  1            |        1\n046  STO-1        | 44,30, 1\n047  RTN          |   43  32\n048  LBL 2        | 42,21, 2\n049  1            |        1\n050  STO+1        | 44,40, 1\n051  RTN          |   43  32\n052  LBL 3        | 42,21, 3\n053  RCL 1        |    45  1\n054  STO I        |   44  25\n055  1            |        1\n056  STO+(i)      | 44,40,24\n057  RTN          |   43  32\n058  LBL 4        | 42,21, 4\n059  RCL 1        |    45  1\n060  STO I        |   44  25\n061  1            |        1\n062  STO-(i)      | 44,30,24\n063  RTN          |   43  32\n064  LBL 5        | 42,21, 5\n065  RCL 1        |    45  1\n066  STO I        |   44  25\n067  RCL (i)      |   45  24\n068  PSE          |   42  31\n069  RTN          |   43  32\n070  LBL 6        | 42,21, 6\n071  RCL 1        |    45  1\n072  STO I        |   44  25\n073  CLx          |   43  35\n074  SF 9         | 43, 4, 9\n075  R/S          |       31\n076  CF 9         | 43, 5, 9\n077  STO (i)      |   44  24\n078  RTN          |   43  32\n079  LBL 7        | 42,21, 7\n080  RCL 1        |    45  1\n081  STO I        |   44  25\n082  RCL (i)      |   45  24\n083  TEST 0       | 43,30, 0\n084  RTN          |   43  32\n085  0            |        0\n086  STO 2        |    44  2\n087  CF 1         | 43, 5, 1\n088  GTO 9        |    22  9\n089  LBL 8        | 42,21, 8\n090  RCL 1        |    45  1\n091  STO I        |   44  25\n092  RCL (i)      |   45  24\n093  x=0          |   43  20\n094  RTN          |   43  32\n095  0            |        0\n096  STO 2        |    44  2\n097  SF 1         | 43, 4, 1\n098  LBL 9        | 42,21, 9\n099  GSB .0       |    32 .0\n100  6            |        6\n101  -            |       30\n102  1            |        1\n103  TEST 5       | 43,30, 5\n104  STO+2        | 44,40, 2\n105  GSB .0       |    32 .0\n106  7            |        7\n107  -            |       30\n108  1            |        1\n109  TEST 5       | 43,30, 5\n110  STO-2        | 44,30, 2\n111  RCL 2        |    45  2\n112  x=0          |   43  20\n113  RTN          |   43  32\n114  1            |        1\n115  F? 1         | 43, 6, 1\n116  CHS          |       16\n117  STO+0        | 44,40, 0\n118  GTO 9        |    22  9\n119  LBL .0       | 42,21,.0\n120  RCL 0        |    45  0\n121  F? 0         | 43, 6, 0\n122  GTO E        |   22  15\n123  STO I        |   44  25\n124  RCL (i)      |   45  24\n125  RTN          |   43  32\n126  LBL E        | 42,21,15\n127  1            |        1\n128  0            |        0\n129  /            |       10\n130  STO I        |   44  25\n131  FRAC         |   42  44\n132  1            |        1\n133  0            |        0\n134  *            |       20\n135  LSTx         |   43  36\n136  x<>y         |       34\n137  -            |       30\n138  10^x         |       13\n139  RCL (i)      |   45  24\n140  x<>y         |       34\n141  /            |       10\n142  FRAC         |   42  44\n143  1            |        1\n144  0            |        0\n145  *            |       20\n146  INT          |   43  44\n147  RTN          |   43  32",
      "json_metadata": "{\"tags\":[\"programming\"],\"app\":\"steemit/0.1\"}",
      "parent_author": "michaelzinn",
      "parent_permlink": "babbage-s-difference-engine-in-brainfuck-on-a-calculator",
      "permlink": "pt1uhs",
      "title": ""
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2019-06-13T18:10:42",
  "trx_id": "78e371b5c56078abe82390a53affcde535a4e319",
  "trx_in_block": 7,
  "virtual_op": 0
}
2019/03/12 14:59:42
authorsteemitboard
bodyCongratulations @michaelzinn! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@michaelzinn/birthday1.png</td><td>Happy Birthday! - You are on the Steem blockchain for 1 year!</td></tr></table> <sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@michaelzinn) and compare to others on the [Steem Ranking](http://steemitboard.com/ranking/index.php?name=michaelzinn)_</sub> **Do not miss the last post from @steemitboard:** <table><tr><td><a href="https://steemit.com/drugwars/@steemitboard/drugwars-early-adopter"><img src="https://steemitimages.com/64x128/https://cdn.steemitimages.com/DQmYGN7R653u4hDFyq1hM7iuhr2bdAP1v2ApACDNtecJAZ5/image.png"></a></td><td><a href="https://steemit.com/drugwars/@steemitboard/drugwars-early-adopter">Are you a DrugWars early adopter? Benvenuto in famiglia!</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 authormichaelzinn
parent permlinkbabbage-s-difference-engine-in-brainfuck-on-a-calculator
permlinksteemitboard-notify-michaelzinn-20190312t145942000z
title
Transaction InfoBlock #31091432/Trx e2b853f806fb141712e24562de7d504b39f25254
View Raw JSON Data
{
  "block": 31091432,
  "op": [
    "comment",
    {
      "author": "steemitboard",
      "body": "Congratulations @michaelzinn! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@michaelzinn/birthday1.png</td><td>Happy Birthday! - You are on the Steem blockchain for 1 year!</td></tr></table>\n\n<sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@michaelzinn) and compare to others on the [Steem Ranking](http://steemitboard.com/ranking/index.php?name=michaelzinn)_</sub>\n\n\n**Do not miss the last post from @steemitboard:**\n<table><tr><td><a href=\"https://steemit.com/drugwars/@steemitboard/drugwars-early-adopter\"><img src=\"https://steemitimages.com/64x128/https://cdn.steemitimages.com/DQmYGN7R653u4hDFyq1hM7iuhr2bdAP1v2ApACDNtecJAZ5/image.png\"></a></td><td><a href=\"https://steemit.com/drugwars/@steemitboard/drugwars-early-adopter\">Are you a DrugWars early adopter? Benvenuto in famiglia!</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": "michaelzinn",
      "parent_permlink": "babbage-s-difference-engine-in-brainfuck-on-a-calculator",
      "permlink": "steemitboard-notify-michaelzinn-20190312t145942000z",
      "title": ""
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2019-03-12T14:59:42",
  "trx_id": "e2b853f806fb141712e24562de7d504b39f25254",
  "trx_in_block": 16,
  "virtual_op": 0
}
steemdelegated 6.080 SP to @michaelzinn
2018/10/13 08:53:39
delegateemichaelzinn
delegatorsteem
vesting shares9889.934577 VESTS
Transaction InfoBlock #26767296/Trx fd95f9a3031bbbc1111abb8f7de417c9f250bc7d
View Raw JSON Data
{
  "block": 26767296,
  "op": [
    "delegate_vesting_shares",
    {
      "delegatee": "michaelzinn",
      "delegator": "steem",
      "vesting_shares": "9889.934577 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-10-13T08:53:39",
  "trx_id": "fd95f9a3031bbbc1111abb8f7de417c9f250bc7d",
  "trx_in_block": 14,
  "virtual_op": 0
}
steemdelegated 18.579 SP to @michaelzinn
2018/07/17 16:58:03
delegateemichaelzinn
delegatorsteem
vesting shares30219.899356 VESTS
Transaction InfoBlock #24260152/Trx b0c422f002fd7e0d7f8203973226701fff085d62
View Raw JSON Data
{
  "block": 24260152,
  "op": [
    "delegate_vesting_shares",
    {
      "delegatee": "michaelzinn",
      "delegator": "steem",
      "vesting_shares": "30219.899356 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-07-17T16:58:03",
  "trx_id": "b0c422f002fd7e0d7f8203973226701fff085d62",
  "trx_in_block": 0,
  "virtual_op": 0
}
2018/07/14 08:04:21
authorgric
permlinkcentral-nave-ii-original-painting-process
votermichaelzinn
weight10000 (100.00%)
Transaction InfoBlock #24163120/Trx 6d03ba6e87928c1b222365205ebb03c754e7ca67
View Raw JSON Data
{
  "block": 24163120,
  "op": [
    "vote",
    {
      "author": "gric",
      "permlink": "central-nave-ii-original-painting-process",
      "voter": "michaelzinn",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-07-14T08:04:21",
  "trx_id": "6d03ba6e87928c1b222365205ebb03c754e7ca67",
  "trx_in_block": 16,
  "virtual_op": 0
}
2018/05/19 20:21:36
authormichaelzinn
permlinkbabbage-s-difference-engine-in-brainfuck-on-a-calculator
sbd payout0.080 SBD
steem payout0.000 STEEM
vesting payout56.967010 VESTS
Transaction InfoBlock #22576316/Virtual Operation #5
View Raw JSON Data
{
  "block": 22576316,
  "op": [
    "author_reward",
    {
      "author": "michaelzinn",
      "permlink": "babbage-s-difference-engine-in-brainfuck-on-a-calculator",
      "sbd_payout": "0.080 SBD",
      "steem_payout": "0.000 STEEM",
      "vesting_payout": "56.967010 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-19T20:21:36",
  "trx_id": "0000000000000000000000000000000000000000",
  "trx_in_block": 4294967295,
  "virtual_op": 5
}
2018/05/16 16:03:27
authormichaelzinn
permlinkbabbage-s-difference-engine-in-brainfuck-on-a-calculator
voterdeeplearning
weight10000 (100.00%)
Transaction InfoBlock #22484772/Trx f89d542f72e7a0d410768ae9134204d5436889bf
View Raw JSON Data
{
  "block": 22484772,
  "op": [
    "vote",
    {
      "author": "michaelzinn",
      "permlink": "babbage-s-difference-engine-in-brainfuck-on-a-calculator",
      "voter": "deeplearning",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-16T16:03:27",
  "trx_id": "f89d542f72e7a0d410768ae9134204d5436889bf",
  "trx_in_block": 42,
  "virtual_op": 0
}
2018/05/15 08:15:36
authormichaelzinn
permlinkbabbage-s-difference-engine-in-brainfuck-on-a-calculator
votermichaelzinn
weight10000 (100.00%)
Transaction InfoBlock #22446620/Trx 9055051615cf19b8687759c6cbb0cb440b4b7241
View Raw JSON Data
{
  "block": 22446620,
  "op": [
    "vote",
    {
      "author": "michaelzinn",
      "permlink": "babbage-s-difference-engine-in-brainfuck-on-a-calculator",
      "voter": "michaelzinn",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-15T08:15:36",
  "trx_id": "9055051615cf19b8687759c6cbb0cb440b4b7241",
  "trx_in_block": 38,
  "virtual_op": 0
}
michaelzinnupdated their account properties
2018/05/13 09:04:09
accountmichaelzinn
json metadata{"profile":{"profile_image":"https://pbs.twimg.com/profile_images/984835492796686336/4OR_3y3L_400x400.jpg","name":"Michael Zinn","about":"@RedNifre on Twitter"}}
memo keySTM7ph9b8tkxn27cuUWKTFZNLtinC1hbRafb5EmKwLWsE2BPNoWSt
Transaction InfoBlock #22389995/Trx 4f611d5866d0bb98bcd78450b986346ed4d274b0
View Raw JSON Data
{
  "block": 22389995,
  "op": [
    "account_update",
    {
      "account": "michaelzinn",
      "json_metadata": "{\"profile\":{\"profile_image\":\"https://pbs.twimg.com/profile_images/984835492796686336/4OR_3y3L_400x400.jpg\",\"name\":\"Michael Zinn\",\"about\":\"@RedNifre on Twitter\"}}",
      "memo_key": "STM7ph9b8tkxn27cuUWKTFZNLtinC1hbRafb5EmKwLWsE2BPNoWSt"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-13T09:04:09",
  "trx_id": "4f611d5866d0bb98bcd78450b986346ed4d274b0",
  "trx_in_block": 49,
  "virtual_op": 0
}
2018/05/13 02:08:27
authormichaelzinn
permlinkbabbage-s-difference-engine-in-brainfuck-on-a-calculator
voteribez
weight2000 (20.00%)
Transaction InfoBlock #22381682/Trx e34ba1e1988ec64d29aa54446f2da56a4e4de5dd
View Raw JSON Data
{
  "block": 22381682,
  "op": [
    "vote",
    {
      "author": "michaelzinn",
      "permlink": "babbage-s-difference-engine-in-brainfuck-on-a-calculator",
      "voter": "ibez",
      "weight": 2000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-13T02:08:27",
  "trx_id": "e34ba1e1988ec64d29aa54446f2da56a4e4de5dd",
  "trx_in_block": 18,
  "virtual_op": 0
}
2018/05/13 01:53:33
authormichaelzinn
permlinkbabbage-s-difference-engine-in-brainfuck-on-a-calculator
voterakiyoshispartan
weight5000 (50.00%)
Transaction InfoBlock #22381384/Trx 55a160d682297c002e6e741256a898e32905b07a
View Raw JSON Data
{
  "block": 22381384,
  "op": [
    "vote",
    {
      "author": "michaelzinn",
      "permlink": "babbage-s-difference-engine-in-brainfuck-on-a-calculator",
      "voter": "akiyoshispartan",
      "weight": 5000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-13T01:53:33",
  "trx_id": "55a160d682297c002e6e741256a898e32905b07a",
  "trx_in_block": 53,
  "virtual_op": 0
}
2018/05/13 01:53:33
authormichaelzinn
permlinkbabbage-s-difference-engine-in-brainfuck-on-a-calculator
votereet25
weight10000 (100.00%)
Transaction InfoBlock #22381384/Trx 0ede4c4ce9dbfcfa0d8c64333c2329b0cdb9d714
View Raw JSON Data
{
  "block": 22381384,
  "op": [
    "vote",
    {
      "author": "michaelzinn",
      "permlink": "babbage-s-difference-engine-in-brainfuck-on-a-calculator",
      "voter": "eet25",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-13T01:53:33",
  "trx_id": "0ede4c4ce9dbfcfa0d8c64333c2329b0cdb9d714",
  "trx_in_block": 52,
  "virtual_op": 0
}
2018/05/13 01:53:33
authormichaelzinn
permlinkbabbage-s-difference-engine-in-brainfuck-on-a-calculator
voterdentara
weight10000 (100.00%)
Transaction InfoBlock #22381384/Trx fb78a7dd618000980ea94ef946b0d2fc8dce982b
View Raw JSON Data
{
  "block": 22381384,
  "op": [
    "vote",
    {
      "author": "michaelzinn",
      "permlink": "babbage-s-difference-engine-in-brainfuck-on-a-calculator",
      "voter": "dentara",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-13T01:53:33",
  "trx_id": "fb78a7dd618000980ea94ef946b0d2fc8dce982b",
  "trx_in_block": 51,
  "virtual_op": 0
}
2018/05/13 01:53:33
authormichaelzinn
permlinkbabbage-s-difference-engine-in-brainfuck-on-a-calculator
votergundulkibo
weight10000 (100.00%)
Transaction InfoBlock #22381384/Trx bab716c3ec39f831fec153ff9394755804f38425
View Raw JSON Data
{
  "block": 22381384,
  "op": [
    "vote",
    {
      "author": "michaelzinn",
      "permlink": "babbage-s-difference-engine-in-brainfuck-on-a-calculator",
      "voter": "gundulkibo",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-13T01:53:33",
  "trx_id": "bab716c3ec39f831fec153ff9394755804f38425",
  "trx_in_block": 49,
  "virtual_op": 0
}
2018/05/13 01:53:33
authormichaelzinn
permlinkbabbage-s-difference-engine-in-brainfuck-on-a-calculator
voterlittlemozart
weight10000 (100.00%)
Transaction InfoBlock #22381384/Trx bf831ffc43a937a9ebe14792e89ad1daa67b8435
View Raw JSON Data
{
  "block": 22381384,
  "op": [
    "vote",
    {
      "author": "michaelzinn",
      "permlink": "babbage-s-difference-engine-in-brainfuck-on-a-calculator",
      "voter": "littlemozart",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-13T01:53:33",
  "trx_id": "bf831ffc43a937a9ebe14792e89ad1daa67b8435",
  "trx_in_block": 48,
  "virtual_op": 0
}
2018/05/13 01:53:33
authormichaelzinn
permlinkbabbage-s-difference-engine-in-brainfuck-on-a-calculator
votermrmuktiii
weight10000 (100.00%)
Transaction InfoBlock #22381384/Trx b6a7e2bc60bef57c392a967045c76ac63e9e1c1d
View Raw JSON Data
{
  "block": 22381384,
  "op": [
    "vote",
    {
      "author": "michaelzinn",
      "permlink": "babbage-s-difference-engine-in-brainfuck-on-a-calculator",
      "voter": "mrmuktiii",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-13T01:53:33",
  "trx_id": "b6a7e2bc60bef57c392a967045c76ac63e9e1c1d",
  "trx_in_block": 47,
  "virtual_op": 0
}
2018/05/13 01:53:33
authormichaelzinn
permlinkbabbage-s-difference-engine-in-brainfuck-on-a-calculator
voterhatta
weight10000 (100.00%)
Transaction InfoBlock #22381384/Trx 5454bd827d977005fbebda95689c4c79a0c0380e
View Raw JSON Data
{
  "block": 22381384,
  "op": [
    "vote",
    {
      "author": "michaelzinn",
      "permlink": "babbage-s-difference-engine-in-brainfuck-on-a-calculator",
      "voter": "hatta",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-13T01:53:33",
  "trx_id": "5454bd827d977005fbebda95689c4c79a0c0380e",
  "trx_in_block": 46,
  "virtual_op": 0
}
2018/05/13 01:53:33
authormichaelzinn
permlinkbabbage-s-difference-engine-in-brainfuck-on-a-calculator
voterfadlin
weight10000 (100.00%)
Transaction InfoBlock #22381384/Trx b8b0771463768bed029bc917c356b37dcaf9d1cc
View Raw JSON Data
{
  "block": 22381384,
  "op": [
    "vote",
    {
      "author": "michaelzinn",
      "permlink": "babbage-s-difference-engine-in-brainfuck-on-a-calculator",
      "voter": "fadlin",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-13T01:53:33",
  "trx_id": "b8b0771463768bed029bc917c356b37dcaf9d1cc",
  "trx_in_block": 45,
  "virtual_op": 0
}
2018/05/13 01:53:33
authormichaelzinn
permlinkbabbage-s-difference-engine-in-brainfuck-on-a-calculator
voteralamcraft
weight10000 (100.00%)
Transaction InfoBlock #22381384/Trx 350feccab8e7f416389ae0660d2bff5a34ce11ba
View Raw JSON Data
{
  "block": 22381384,
  "op": [
    "vote",
    {
      "author": "michaelzinn",
      "permlink": "babbage-s-difference-engine-in-brainfuck-on-a-calculator",
      "voter": "alamcraft",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-13T01:53:33",
  "trx_id": "350feccab8e7f416389ae0660d2bff5a34ce11ba",
  "trx_in_block": 44,
  "virtual_op": 0
}
2018/05/13 01:53:33
authormichaelzinn
permlinkbabbage-s-difference-engine-in-brainfuck-on-a-calculator
voterriyansyahbp
weight10000 (100.00%)
Transaction InfoBlock #22381384/Trx 5bd001e972b1ba42b4148c656d5275fb403c9001
View Raw JSON Data
{
  "block": 22381384,
  "op": [
    "vote",
    {
      "author": "michaelzinn",
      "permlink": "babbage-s-difference-engine-in-brainfuck-on-a-calculator",
      "voter": "riyansyahbp",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-13T01:53:33",
  "trx_id": "5bd001e972b1ba42b4148c656d5275fb403c9001",
  "trx_in_block": 43,
  "virtual_op": 0
}
2018/05/13 01:53:33
authormichaelzinn
permlinkbabbage-s-difference-engine-in-brainfuck-on-a-calculator
voteraudrybie
weight10000 (100.00%)
Transaction InfoBlock #22381384/Trx 0b2d8746f5e1e376aa28e7e564c23d184343fe81
View Raw JSON Data
{
  "block": 22381384,
  "op": [
    "vote",
    {
      "author": "michaelzinn",
      "permlink": "babbage-s-difference-engine-in-brainfuck-on-a-calculator",
      "voter": "audrybie",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-13T01:53:33",
  "trx_id": "0b2d8746f5e1e376aa28e7e564c23d184343fe81",
  "trx_in_block": 42,
  "virtual_op": 0
}
2018/05/13 01:53:33
authormichaelzinn
permlinkbabbage-s-difference-engine-in-brainfuck-on-a-calculator
voterfikrahaikal
weight10000 (100.00%)
Transaction InfoBlock #22381384/Trx 2128ac3426a08e455895f6c28e03e795e2ab4ccd
View Raw JSON Data
{
  "block": 22381384,
  "op": [
    "vote",
    {
      "author": "michaelzinn",
      "permlink": "babbage-s-difference-engine-in-brainfuck-on-a-calculator",
      "voter": "fikrahaikal",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-13T01:53:33",
  "trx_id": "2128ac3426a08e455895f6c28e03e795e2ab4ccd",
  "trx_in_block": 40,
  "virtual_op": 0
}
2018/05/13 01:53:33
authormichaelzinn
permlinkbabbage-s-difference-engine-in-brainfuck-on-a-calculator
voterchairulfadlin
weight10000 (100.00%)
Transaction InfoBlock #22381384/Trx fbb543b5abc6d54b224402a9b94af369442d4d4c
View Raw JSON Data
{
  "block": 22381384,
  "op": [
    "vote",
    {
      "author": "michaelzinn",
      "permlink": "babbage-s-difference-engine-in-brainfuck-on-a-calculator",
      "voter": "chairulfadlin",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-13T01:53:33",
  "trx_id": "fbb543b5abc6d54b224402a9b94af369442d4d4c",
  "trx_in_block": 39,
  "virtual_op": 0
}
2018/05/13 01:53:24
authormichaelzinn
permlinkbabbage-s-difference-engine-in-brainfuck-on-a-calculator
voterbeladro
weight5000 (50.00%)
Transaction InfoBlock #22381381/Trx b9f981c1bb98d64aeb2aab46aa23ee7c6f88cfe1
View Raw JSON Data
{
  "block": 22381381,
  "op": [
    "vote",
    {
      "author": "michaelzinn",
      "permlink": "babbage-s-difference-engine-in-brainfuck-on-a-calculator",
      "voter": "beladro",
      "weight": 5000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-13T01:53:24",
  "trx_id": "b9f981c1bb98d64aeb2aab46aa23ee7c6f88cfe1",
  "trx_in_block": 16,
  "virtual_op": 0
}
2018/05/13 01:53:24
authormichaelzinn
permlinkbabbage-s-difference-engine-in-brainfuck-on-a-calculator
voterbonesumpal
weight5000 (50.00%)
Transaction InfoBlock #22381381/Trx 3355e7cca2ba0b0517c2e6ad252c0887d9a77cbe
View Raw JSON Data
{
  "block": 22381381,
  "op": [
    "vote",
    {
      "author": "michaelzinn",
      "permlink": "babbage-s-difference-engine-in-brainfuck-on-a-calculator",
      "voter": "bonesumpal",
      "weight": 5000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-13T01:53:24",
  "trx_id": "3355e7cca2ba0b0517c2e6ad252c0887d9a77cbe",
  "trx_in_block": 15,
  "virtual_op": 0
}
2018/05/13 01:53:24
authormichaelzinn
permlinkbabbage-s-difference-engine-in-brainfuck-on-a-calculator
votermukhlis4
weight10000 (100.00%)
Transaction InfoBlock #22381381/Trx 36eab95028e216bafe777c196117ea1ac173f100
View Raw JSON Data
{
  "block": 22381381,
  "op": [
    "vote",
    {
      "author": "michaelzinn",
      "permlink": "babbage-s-difference-engine-in-brainfuck-on-a-calculator",
      "voter": "mukhlis4",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-13T01:53:24",
  "trx_id": "36eab95028e216bafe777c196117ea1ac173f100",
  "trx_in_block": 14,
  "virtual_op": 0
}
2018/05/13 01:53:24
authormichaelzinn
permlinkbabbage-s-difference-engine-in-brainfuck-on-a-calculator
voterchukuibijenny
weight5000 (50.00%)
Transaction InfoBlock #22381381/Trx 2bb5946baf40a9a34960d1e8e465769b8dcbc58e
View Raw JSON Data
{
  "block": 22381381,
  "op": [
    "vote",
    {
      "author": "michaelzinn",
      "permlink": "babbage-s-difference-engine-in-brainfuck-on-a-calculator",
      "voter": "chukuibijenny",
      "weight": 5000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-13T01:53:24",
  "trx_id": "2bb5946baf40a9a34960d1e8e465769b8dcbc58e",
  "trx_in_block": 13,
  "virtual_op": 0
}
2018/05/13 01:53:24
authormichaelzinn
permlinkbabbage-s-difference-engine-in-brainfuck-on-a-calculator
voterrizalmaulana
weight10000 (100.00%)
Transaction InfoBlock #22381381/Trx 3788549e0c1dbcb1db7765a5e816492ab203fb68
View Raw JSON Data
{
  "block": 22381381,
  "op": [
    "vote",
    {
      "author": "michaelzinn",
      "permlink": "babbage-s-difference-engine-in-brainfuck-on-a-calculator",
      "voter": "rizalmaulana",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-13T01:53:24",
  "trx_id": "3788549e0c1dbcb1db7765a5e816492ab203fb68",
  "trx_in_block": 12,
  "virtual_op": 0
}
2018/05/13 01:53:24
authormichaelzinn
permlinkbabbage-s-difference-engine-in-brainfuck-on-a-calculator
votersnowgoat
weight10000 (100.00%)
Transaction InfoBlock #22381381/Trx 89477fb336072aa359c338bfc76514484a093d03
View Raw JSON Data
{
  "block": 22381381,
  "op": [
    "vote",
    {
      "author": "michaelzinn",
      "permlink": "babbage-s-difference-engine-in-brainfuck-on-a-calculator",
      "voter": "snowgoat",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-13T01:53:24",
  "trx_id": "89477fb336072aa359c338bfc76514484a093d03",
  "trx_in_block": 11,
  "virtual_op": 0
}
2018/05/13 01:53:24
authormichaelzinn
permlinkbabbage-s-difference-engine-in-brainfuck-on-a-calculator
voterfauzi03
weight10000 (100.00%)
Transaction InfoBlock #22381381/Trx 503f2bc74dc9aa1cc76ca5dc3715267152b5ebf0
View Raw JSON Data
{
  "block": 22381381,
  "op": [
    "vote",
    {
      "author": "michaelzinn",
      "permlink": "babbage-s-difference-engine-in-brainfuck-on-a-calculator",
      "voter": "fauzi03",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-13T01:53:24",
  "trx_id": "503f2bc74dc9aa1cc76ca5dc3715267152b5ebf0",
  "trx_in_block": 10,
  "virtual_op": 0
}
2018/05/13 01:53:24
authormichaelzinn
permlinkbabbage-s-difference-engine-in-brainfuck-on-a-calculator
voterjutdagut
weight10000 (100.00%)
Transaction InfoBlock #22381381/Trx 4f7ceda3375a0d60104ab04d49fc7812b0fbb9d4
View Raw JSON Data
{
  "block": 22381381,
  "op": [
    "vote",
    {
      "author": "michaelzinn",
      "permlink": "babbage-s-difference-engine-in-brainfuck-on-a-calculator",
      "voter": "jutdagut",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-13T01:53:24",
  "trx_id": "4f7ceda3375a0d60104ab04d49fc7812b0fbb9d4",
  "trx_in_block": 9,
  "virtual_op": 0
}
2018/05/13 01:53:24
authormichaelzinn
permlinkbabbage-s-difference-engine-in-brainfuck-on-a-calculator
voterboruniraja
weight10000 (100.00%)
Transaction InfoBlock #22381381/Trx 9a83dd639b2885e802bdb0e1ac084890d20f6168
View Raw JSON Data
{
  "block": 22381381,
  "op": [
    "vote",
    {
      "author": "michaelzinn",
      "permlink": "babbage-s-difference-engine-in-brainfuck-on-a-calculator",
      "voter": "boruniraja",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-13T01:53:24",
  "trx_id": "9a83dd639b2885e802bdb0e1ac084890d20f6168",
  "trx_in_block": 6,
  "virtual_op": 0
}
2018/05/13 01:53:24
authormichaelzinn
permlinkbabbage-s-difference-engine-in-brainfuck-on-a-calculator
votermaidisangkot
weight10000 (100.00%)
Transaction InfoBlock #22381381/Trx d5220723121ada910d12832b983a8f5bee5ebdc4
View Raw JSON Data
{
  "block": 22381381,
  "op": [
    "vote",
    {
      "author": "michaelzinn",
      "permlink": "babbage-s-difference-engine-in-brainfuck-on-a-calculator",
      "voter": "maidisangkot",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-13T01:53:24",
  "trx_id": "d5220723121ada910d12832b983a8f5bee5ebdc4",
  "trx_in_block": 5,
  "virtual_op": 0
}
2018/05/13 01:53:24
authormichaelzinn
permlinkbabbage-s-difference-engine-in-brainfuck-on-a-calculator
voterthegreatsilaban
weight10000 (100.00%)
Transaction InfoBlock #22381381/Trx a514c742ec2e52f558ddd18923e0ee8ec9ca4249
View Raw JSON Data
{
  "block": 22381381,
  "op": [
    "vote",
    {
      "author": "michaelzinn",
      "permlink": "babbage-s-difference-engine-in-brainfuck-on-a-calculator",
      "voter": "thegreatsilaban",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-13T01:53:24",
  "trx_id": "a514c742ec2e52f558ddd18923e0ee8ec9ca4249",
  "trx_in_block": 4,
  "virtual_op": 0
}
2018/05/13 01:53:24
authormichaelzinn
permlinkbabbage-s-difference-engine-in-brainfuck-on-a-calculator
voterjewierart
weight10000 (100.00%)
Transaction InfoBlock #22381381/Trx 4fcd489824a365c25cf97ebd87cdd544ade0edc7
View Raw JSON Data
{
  "block": 22381381,
  "op": [
    "vote",
    {
      "author": "michaelzinn",
      "permlink": "babbage-s-difference-engine-in-brainfuck-on-a-calculator",
      "voter": "jewierart",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-13T01:53:24",
  "trx_id": "4fcd489824a365c25cf97ebd87cdd544ade0edc7",
  "trx_in_block": 3,
  "virtual_op": 0
}
2018/05/13 01:53:24
authormichaelzinn
permlinkbabbage-s-difference-engine-in-brainfuck-on-a-calculator
voteranggaariska
weight10000 (100.00%)
Transaction InfoBlock #22381381/Trx 18bd28d075aecd2a29c856db64b49238685af549
View Raw JSON Data
{
  "block": 22381381,
  "op": [
    "vote",
    {
      "author": "michaelzinn",
      "permlink": "babbage-s-difference-engine-in-brainfuck-on-a-calculator",
      "voter": "anggaariska",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-13T01:53:24",
  "trx_id": "18bd28d075aecd2a29c856db64b49238685af549",
  "trx_in_block": 2,
  "virtual_op": 0
}
2018/05/13 01:53:24
authormichaelzinn
permlinkbabbage-s-difference-engine-in-brainfuck-on-a-calculator
voterfajrieffendi
weight10000 (100.00%)
Transaction InfoBlock #22381381/Trx 092f6491716e8db6739acbb999a41b9e708efdaa
View Raw JSON Data
{
  "block": 22381381,
  "op": [
    "vote",
    {
      "author": "michaelzinn",
      "permlink": "babbage-s-difference-engine-in-brainfuck-on-a-calculator",
      "voter": "fajrieffendi",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-13T01:53:24",
  "trx_id": "092f6491716e8db6739acbb999a41b9e708efdaa",
  "trx_in_block": 1,
  "virtual_op": 0
}
2018/05/13 01:53:18
authormichaelzinn
permlinkbabbage-s-difference-engine-in-brainfuck-on-a-calculator
voterisaideureka
weight10000 (100.00%)
Transaction InfoBlock #22381379/Trx d944f62ba3411b0cc7c2405640404a6980a45b94
View Raw JSON Data
{
  "block": 22381379,
  "op": [
    "vote",
    {
      "author": "michaelzinn",
      "permlink": "babbage-s-difference-engine-in-brainfuck-on-a-calculator",
      "voter": "isaideureka",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-13T01:53:18",
  "trx_id": "d944f62ba3411b0cc7c2405640404a6980a45b94",
  "trx_in_block": 18,
  "virtual_op": 0
}
2018/05/12 23:37:09
authormichaelzinn
permlinkbabbage-s-difference-engine-in-brainfuck-on-a-calculator
voterveryspider
weight10000 (100.00%)
Transaction InfoBlock #22378656/Trx cc62c46032ebe61038d857a83f5ed2e70c07f13a
View Raw JSON Data
{
  "block": 22378656,
  "op": [
    "vote",
    {
      "author": "michaelzinn",
      "permlink": "babbage-s-difference-engine-in-brainfuck-on-a-calculator",
      "voter": "veryspider",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-12T23:37:09",
  "trx_id": "cc62c46032ebe61038d857a83f5ed2e70c07f13a",
  "trx_in_block": 67,
  "virtual_op": 0
}
2018/05/12 22:48:39
authormichaelzinn
permlinkbabbage-s-difference-engine-in-brainfuck-on-a-calculator
voterjhnmunoz
weight10000 (100.00%)
Transaction InfoBlock #22377686/Trx 5963509cbd72137a071fafbaa65efd4751f7a3a3
View Raw JSON Data
{
  "block": 22377686,
  "op": [
    "vote",
    {
      "author": "michaelzinn",
      "permlink": "babbage-s-difference-engine-in-brainfuck-on-a-calculator",
      "voter": "jhnmunoz",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-12T22:48:39",
  "trx_id": "5963509cbd72137a071fafbaa65efd4751f7a3a3",
  "trx_in_block": 2,
  "virtual_op": 0
}
2018/05/12 21:04:51
authormichaelzinn
body@@ -8906,17 +8906,17 @@ m, run * -A +B * to sta
json metadata{"tags":["programming","software","creative"],"image":["https://i.imgur.com/meHHiiD.jpg","https://upload.wikimedia.org/wikipedia/commons/thumb/6/6a/LondonScienceMuseumsReplicaDifferenceEngine.jpg/1920px-LondonScienceMuseumsReplicaDifferenceEngine.jpg"],"links":["https://en.wikipedia.org/wiki/Brainfuck","https://steemit.com/tutorial/@michaelzinn/programming-like-it-s-1981","https://en.wikipedia.org/wiki/Endianness","https://en.wikipedia.org/wiki/Difference_engine"],"app":"steemit/0.1","format":"markdown"}
parent author
parent permlinkprogramming
permlinkbabbage-s-difference-engine-in-brainfuck-on-a-calculator
titleBabbage's Difference Engine in Brainfuck on a Calculator
Transaction InfoBlock #22375610/Trx 8e89bbdb086062c20642f230eaef3b253ec1326a
View Raw JSON Data
{
  "block": 22375610,
  "op": [
    "comment",
    {
      "author": "michaelzinn",
      "body": "@@ -8906,17 +8906,17 @@\n m, run *\n-A\n+B\n * to sta\n",
      "json_metadata": "{\"tags\":[\"programming\",\"software\",\"creative\"],\"image\":[\"https://i.imgur.com/meHHiiD.jpg\",\"https://upload.wikimedia.org/wikipedia/commons/thumb/6/6a/LondonScienceMuseumsReplicaDifferenceEngine.jpg/1920px-LondonScienceMuseumsReplicaDifferenceEngine.jpg\"],\"links\":[\"https://en.wikipedia.org/wiki/Brainfuck\",\"https://steemit.com/tutorial/@michaelzinn/programming-like-it-s-1981\",\"https://en.wikipedia.org/wiki/Endianness\",\"https://en.wikipedia.org/wiki/Difference_engine\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}",
      "parent_author": "",
      "parent_permlink": "programming",
      "permlink": "babbage-s-difference-engine-in-brainfuck-on-a-calculator",
      "title": "Babbage's Difference Engine in Brainfuck on a Calculator"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-12T21:04:51",
  "trx_id": "8e89bbdb086062c20642f230eaef3b253ec1326a",
  "trx_in_block": 39,
  "virtual_op": 0
}
2018/05/12 20:43:00
authormichaelzinn
body@@ -12142,16 +12142,708 @@ TN%0A%60%60%60%0A%0A +%0A### Example Programs%0A%0A#### Add two numbers%0A%0A%60%60%60,%3E,%5B-%3C+%3E%5D%3C.%60%60%60%0A%0A%60%60%60%0A Fast%0A====%0ACF 0%0A6 STO 3%0A1 STO 4%0A6 STO 5%0A7 STO 6%0A4 STO 7%0A2 STO 8%0A3 STO 9%0A1 STO 10%0A8 STO 11%0A2 STO 12%0A5 STO 13%0A%0ACompact%0A=======%0ASF 0%0A6167423182 STO 3%0A5000000000 STO 4%0A%60%60%60%0A%0A#### Multiply two numbers%0A%0A%60%60%60,%3E,%3C%5B%3E%5B-%3E+%3E+%3C%3C%5D%3E%5B-%3C+%3E%5D%3C%3C-%5D%3E%3E%3E.%60%60%60%0A%0A%60%60%60%0ASF 0%0A6162717413 STO 3%0A1322817423 STO 4%0A1822481115 STO 5%0A%60%60%60%0A%0A#### Fibonacci Numbers%0A%0A%60%60%60+%3E+%5B%5B-%3E+%3E+%3C%3C%5D%3C%5B-%3E%3E%3E+%3C%3C%3C%5D%3E%3E%3E.%5D%60%60%60%0A%0A%60%60%60%0ASF 0%0A3137741313 STO 3%0A2282741113 STO 4%0A2228111580 STO 5%0A%60%60%60%0A%0A#### Difference Engine%0A%0A%60%60%60,%3E%3E,%3E%3E,%3E+%5B%3C%5B-%3C+%3C+%3E%3E%5D%3C%5B-%3E+%3C%5D%3C%3C%5B-%3C+%3C+%3E%3E%5D%3C%3C.%3E%5B-%3E+%3C%5D%3E%3E%3E%3E%5D%60%60%60%0A%0A%60%60%60%0ASF 0%0A6116116137 STO 3%0A2742323118 STO 4%0A2741328227 STO 5%0A4232311822 STO 6%0A5174132811 STO 7%0A1180000000 STO 8%0A%60%60%60 %0A%0A## Lea
json metadata{"tags":["programming","software","creative"],"image":["https://i.imgur.com/meHHiiD.jpg","https://upload.wikimedia.org/wikipedia/commons/thumb/6/6a/LondonScienceMuseumsReplicaDifferenceEngine.jpg/1920px-LondonScienceMuseumsReplicaDifferenceEngine.jpg"],"links":["https://en.wikipedia.org/wiki/Brainfuck","https://steemit.com/tutorial/@michaelzinn/programming-like-it-s-1981","https://en.wikipedia.org/wiki/Endianness","https://en.wikipedia.org/wiki/Difference_engine"],"app":"steemit/0.1","format":"markdown"}
parent author
parent permlinkprogramming
permlinkbabbage-s-difference-engine-in-brainfuck-on-a-calculator
titleBabbage's Difference Engine in Brainfuck on a Calculator
Transaction InfoBlock #22375173/Trx 943124840fe6fbc866ca4cc5f362e3a2deb9eedd
View Raw JSON Data
{
  "block": 22375173,
  "op": [
    "comment",
    {
      "author": "michaelzinn",
      "body": "@@ -12142,16 +12142,708 @@\n TN%0A%60%60%60%0A%0A\n+%0A### Example Programs%0A%0A#### Add two numbers%0A%0A%60%60%60,%3E,%5B-%3C+%3E%5D%3C.%60%60%60%0A%0A%60%60%60%0A Fast%0A====%0ACF 0%0A6 STO 3%0A1 STO 4%0A6 STO 5%0A7 STO 6%0A4 STO 7%0A2 STO 8%0A3 STO 9%0A1 STO 10%0A8 STO 11%0A2 STO 12%0A5 STO 13%0A%0ACompact%0A=======%0ASF 0%0A6167423182 STO 3%0A5000000000 STO 4%0A%60%60%60%0A%0A#### Multiply two numbers%0A%0A%60%60%60,%3E,%3C%5B%3E%5B-%3E+%3E+%3C%3C%5D%3E%5B-%3C+%3E%5D%3C%3C-%5D%3E%3E%3E.%60%60%60%0A%0A%60%60%60%0ASF 0%0A6162717413 STO 3%0A1322817423 STO 4%0A1822481115 STO 5%0A%60%60%60%0A%0A#### Fibonacci Numbers%0A%0A%60%60%60+%3E+%5B%5B-%3E+%3E+%3C%3C%5D%3C%5B-%3E%3E%3E+%3C%3C%3C%5D%3E%3E%3E.%5D%60%60%60%0A%0A%60%60%60%0ASF 0%0A3137741313 STO 3%0A2282741113 STO 4%0A2228111580 STO 5%0A%60%60%60%0A%0A#### Difference Engine%0A%0A%60%60%60,%3E%3E,%3E%3E,%3E+%5B%3C%5B-%3C+%3C+%3E%3E%5D%3C%5B-%3E+%3C%5D%3C%3C%5B-%3C+%3C+%3E%3E%5D%3C%3C.%3E%5B-%3E+%3C%5D%3E%3E%3E%3E%5D%60%60%60%0A%0A%60%60%60%0ASF 0%0A6116116137 STO 3%0A2742323118 STO 4%0A2741328227 STO 5%0A4232311822 STO 6%0A5174132811 STO 7%0A1180000000 STO 8%0A%60%60%60\n %0A%0A## Lea\n",
      "json_metadata": "{\"tags\":[\"programming\",\"software\",\"creative\"],\"image\":[\"https://i.imgur.com/meHHiiD.jpg\",\"https://upload.wikimedia.org/wikipedia/commons/thumb/6/6a/LondonScienceMuseumsReplicaDifferenceEngine.jpg/1920px-LondonScienceMuseumsReplicaDifferenceEngine.jpg\"],\"links\":[\"https://en.wikipedia.org/wiki/Brainfuck\",\"https://steemit.com/tutorial/@michaelzinn/programming-like-it-s-1981\",\"https://en.wikipedia.org/wiki/Endianness\",\"https://en.wikipedia.org/wiki/Difference_engine\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}",
      "parent_author": "",
      "parent_permlink": "programming",
      "permlink": "babbage-s-difference-engine-in-brainfuck-on-a-calculator",
      "title": "Babbage's Difference Engine in Brainfuck on a Calculator"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-12T20:43:00",
  "trx_id": "943124840fe6fbc866ca4cc5f362e3a2deb9eedd",
  "trx_in_block": 27,
  "virtual_op": 0
}
2018/05/12 20:22:18
authormichaelzinn
permlinkbabbage-s-difference-engine-in-brainfuck-on-a-calculator
voterxakarisyed
weight10000 (100.00%)
Transaction InfoBlock #22374759/Trx cf7b91abd429fd3d7f4dfe73f4cd5f2403f3edf3
View Raw JSON Data
{
  "block": 22374759,
  "op": [
    "vote",
    {
      "author": "michaelzinn",
      "permlink": "babbage-s-difference-engine-in-brainfuck-on-a-calculator",
      "voter": "xakarisyed",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-12T20:22:18",
  "trx_id": "cf7b91abd429fd3d7f4dfe73f4cd5f2403f3edf3",
  "trx_in_block": 4,
  "virtual_op": 0
}
2018/05/12 20:21:48
authormichaelzinn
permlinkbabbage-s-difference-engine-in-brainfuck-on-a-calculator
voterax3
weight100 (1.00%)
Transaction InfoBlock #22374749/Trx ac4ec01e7b59a4673e5a7e0194266163ee423d32
View Raw JSON Data
{
  "block": 22374749,
  "op": [
    "vote",
    {
      "author": "michaelzinn",
      "permlink": "babbage-s-difference-engine-in-brainfuck-on-a-calculator",
      "voter": "ax3",
      "weight": 100
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-12T20:21:48",
  "trx_id": "ac4ec01e7b59a4673e5a7e0194266163ee423d32",
  "trx_in_block": 2,
  "virtual_op": 0
}
2018/05/12 20:21:36
authormichaelzinn
bodytl;dr: The simplicity of this 1982 programmable calculator makes it possible to become a "guru" just by reading the manual: Since there are no abstraction layers that can fail you can just write whatever you want without wasting your time with demotivating nonsense like googling error messages or seeking through stackoverflow answers. Just code and it works! # Brainfuck Difference Engine on HP 15C Calculator Hardware Clone I was just sitting in a park, listening to some podcast and wondered "Hey, why not write a Brainfuck interpreter for my calculator?". So I grabbed my notebook and started scribbling. ![Notebook](https://i.imgur.com/meHHiiD.jpg) ## Brainfuck? It's a programming language that only has eight instructions. The instructions operate on a tape of numbers. Instruction | Meaning -------------|--------- > | Move tape head to the right < | Move tape head to the left + | Increment value at tape head position - | Decrement value at tape head position . | Print value at tape head position , | Read value from input to tape head position [ | Loop: Jump to after the corresponding ] if the value at the tape head position is 0 ] | Loop: Jump to after the corresponding [ if the value at the tape head position is not 0 For example, this program prompts the user for two numbers and then adds them together: ,>,[-<+>]<. For more details, you can read the [Wikipedia article on Brainfuck](https://en.wikipedia.org/wiki/Brainfuck). ## HP 15C It's a programmable calculator from 1982 that has 20 registers of storage and the ability to do indirect register addressing and indirect jumping to labels based on register content, which comes in really handy when interpreting numbers as instructions. See [My previous blog post "Programming like it's 1981" about this thing](https://steemit.com/tutorial/@michaelzinn/programming-like-it-s-1981) for more details. ## Implementing the Interpreter An interpreter is a program that looks at data and interprets it as a program i.e. executing the instructions encoded in the data. In the case of the 15C calculator this means that there is an interpreter program written in the calculator's unnamed programming language that reads the numbers that are stored in the registers and behaves as if those numbers were Brainfuck instructions. So the first thing we need is a mapping from instructions to numbers: Instruction | Number -------------|-------- > | 1 < | 2 + | 3 - | 4 . | 5 , | 6 [ | 7 ] | 8 For example, the program "+[.+]", which prints all natural numbers, would be [3, 7, 5, 3, 8]. ### Instruction Pointer If we put the instructions into the registers we need to keep track of which instruction to execute next: One register is used as the instruction pointer and contains the number of the register holding the next instruction to be executed; So we fetch the number from that register, execute the instruction, then add 1 to the instruction pointer and repeat. ### Tape Pointer Since Brainfuck uses a tape head that moves across a tape of numbers, we need to store the tape head position in another register. The ">" command moves the tape head to the right, "<" to the left. However, since we only have 20 registers in total, we should place code and tape on opposite ends of the register space, which means that the first tape cell is the last register, the second tape cell is the second to last register etc. and the ">" command decreases the tape pointer register by 1 to move "right". ### Loops Brainfuck loops can be nested to an arbitrary depth. A fast implementation would probably use some sort of look-up table for matching the loop brackets, but this would take too many registers so instead I opted for just one register that contains a "loop nesting number". Consider this program: [+++++[++++++]++++++]++ The first "[" skips the block if the cell at the tape head position is zero. One solution for finding the matching "]" is to set the loop nesting number to 1, then read the program in the right direction and count each "[" as +1 and each "]" as -1. So when encountering the second "[" in the program, the loop nesting number becomes 2, on the next "]" it becomes 1 again and on the final "]" it becomes 0, which means we found the end of the current block and the program can now resume normal execution. Jumping from the end of a block to the start works similarly: set the loop nesting number to -1 and seek backwards. ### Memory Layout So we need three special purpose registers, followed by Brainfuck code, followed by the tape. We can allocate the registers like this: | Register | Content | |:--------:|---------------------------------| | 0 | Instruction pointer | | 1 | Tape pointer | | 2 | Loop nesting number | | 3 | Begin of program code | | ... | More program code | | ... | 0 (Signals end of program code) | | ... | More tape | | 19 | Begin of tape | Note that the tape grows backwards from the end of register space. Note that programs can corrupt themselves since there is no bounds checking. ### Compacting code Since 20 registers are not enough to write any interesting programs at one instruction per register, we need a way to put more than one instruction in each register. The HP 15C uses decimal numbers with a 10 digit mantissa, a 2 digit exponent and a sign, which means we can fit one instruction per digit. Consider this program that calculates fibonacci numbers: +>+[[->+>+<<]<[->>>+<<<]>>>.] At one digit per instruction, this fits into just 3 registers: 3137741313 2282741113 2228111580 (Notice that the last number is padded with a 0 on the right side since the code is stored as [big endian](https://en.wikipedia.org/wiki/Endianness)) If we want to keep both the fast "one instruction per register"- and the compact "ten instructions per register"-mode we could use flag 0 to distinguish which mode to use. ## Compiling code The mapping of one instruction per register or digit is simple enough to write code directly on the calculator. However, it would be more convenient if we had a compiler that turns Brainfuck code into numbers. Here's a ruby script that does exactly that: ```ruby instruction_table = { ">" => 1, "<" => 2, "+" => 3, "-" => 4, "." => 5, "," => 6, "[" => 7, "]" => 8 } program = ARGV[0] instructions = program.chars codes = instructions.map { |i| instruction_table[i] } # Fast program (for programs up to 15 commands long) if(codes.size <= 15) then registers = codes.map.with_index { |instruction, index| "#{instruction} STO #{index + 3}" } puts puts "Fast" puts "====" puts "CF 0" puts registers end # Compact program chunks = codes.each_slice(10).to_a.map { |a| a.fill(0, a.size...10) } registers = chunks.map.with_index { |line, index| "#{line.join} STO #{index + 3}"} puts puts "Compact" puts "=======" puts "SF 0" puts registers puts ``` Just save this as bf.rb and start it like ```ruby bf.rb "+[.+]"``` to get an output like this: ``` Fast ==== CF 0 3 STO 3 7 STO 4 5 STO 5 3 STO 6 8 STO 7 Compact ======= SF 0 3753800000 STO 3 ``` For programs that won't fit in Fast mode, only the Compact version will be shown: ```ruby ../utils/bf_compile.rb "+>+[[->+>+<<]<[->>>+<<<]>>>.]"``` ``` Compact ======= SF 0 3137741313 STO 3 2282741113 STO 4 2228111580 STO 5 ``` ## Charles Babbage's Difference Engine The [Difference Engine](https://en.wikipedia.org/wiki/Difference_engine) was a machine to tabulate polynomials using divided differences. It wasn't programmable, but it ran a program that was parameterizable so you could use it to calculate different functions, e.g. logarithmic tables or sine tables. ![Difference Engine](https://upload.wikimedia.org/wikipedia/commons/thumb/6/6a/LondonScienceMuseumsReplicaDifferenceEngine.jpg/1920px-LondonScienceMuseumsReplicaDifferenceEngine.jpg) Here is a simple implementation in Brainfuck: ```,>>,>>,>+[<[-<+<+>>]<[->+<]<[-<+<+>>]<<.>[->+<]>>>>]``` You can enter it into the calculator like this: ``` SF 0 6116116137 STO 3 2742323118 STO 4 2741328274 STO 5 2323118225 STO 6 1741328111 STO 7 1800000000 STO 8 ``` When you run this program, it will ask you for three numbers corresponding to the initial number column setting of the Difference Engine. Examples: | Input | Output | |--------|----------| | 0, 1, 0 | Natural numbers (1, 2, 3 ...)| | 1, 1, 2 | Square numbers (1, 4, 9 ...)| So there you have it: A running Difference Engine, implemented in Brainfuck, running on a HP 15C calculator from the eighties :) ## Program Now all you have to do is enter the following code into your calculator. After you entered your program, run *A* to start the interpreter. * Output will be displayed for one second. * When input is required, the display will flash. Simply enter a number and hit *R/S* to continue. * When the program terminates it will try to display the last output. ### Registers | Register | Content | |:--------:|---------------------------------| | 0 | Instruction Pointer | | 1 | Tape Pointer | | 2 | Loop nesting number | | 3 | Begin of program code | | ... | More program code | | ... | 0 (Signals end of program code) | | ... | More tape | | 19 | Begin of tape | ### Flags Flag 0 is meant to be set/cleared by the user. | Flag | Status | Meaning | |:----:|:-------:|:-------:| | 0 | clear | Fast mode (1 instruction per register) | | 0 | set | Compact mode (10 instructions per register) | | 1 | clear | Seek forward to matching bracket | | 1 | set | Seek backward to matching bracket | ### Labels | Label | Content | |:-----:|---------| | B | Run Brainfuck program | | C | Clear tape | | E | vRCL digit | | 0 | End program | | 1-8 | Run corresponding Brainfuck instruction | | 9 | Seek to matching bracket | | 10 | Fetch current instruction | | 11 | Execution loop | | 12 | Clear tape loop | ### Code Listing ``` ; init registers 001 - LBL B FIX 0 GSB C 10 ENTER 3 F? 0 * STO 0 1 9 STO 1 0 STO 2 ; run program 012 - LBL 11 ; fetch instruction GSB 10 ; execute instruction STO I GSB I ; increment instruction pointer 1 STO + 0 ; execute next instruction GTO 11 ; clear tape 019 - LBL C CF 1 3.019 STO I LBL 12 RCL (i) x = 0 ? SF 1 F? 1 CLx STO (i) ISG I GTO 12 RTN ; special "stop program" instruction 037 - LBL 0 ; display last output for convenience R/\ R/S ; ">" (Move tape head to the right) 044 - LBL 1 1 STO - 1 RTN ; "<" (Move tape head to the left) 048 - LBL 2 1 STO + 1 RTN ; "+" (Increment value at tape head position) 052 - LBL 3 RCL 1 STO I 1 STO + (i) RTN ; "-" (Decrement value at tape head position) 058 - LBL 4 RCL 1 STO I 1 STO - (i) RTN ; "." (Output value at tape head position) 064 - LBL 5 RCL 1 STO I RCL (i) PSE RTN ; "," (Input value to tape head position) 070 - LBL 6 RCL 1 STO I CLx SF 9 ; blink R/S CF 9 STO (i) RTN ; "[" (begin loop) 079 - LBL 7 RCL 1 STO I RCL (i) x != 0 ? RTN 0 STO 2 CF 1 ; seek forward GTO 9 ; "]" (end loop) 089 - LBL 8 RCL 1 STO I RCL (i) x = 0 ? RTN 0 STO 2 SF 1 098 - LBL 9 ; seek to matching bracket GSB 10 6 - 1 x = y ? STO + 2 GSB 10 7 - 1 ; needed because GSB 10 modifies the stack x = y ? STO - 2 RCL 2 x = 0 ? RTN 1 F? 1 CHS STO + 0 GTO 9 ; fetch current instruction 119 - LBL 10 RCL 0 F? 0 GTO E STO I RCL (i) RTN ; vRCL digit 126 - LBL E ; find correct register 1 0 / STO I ; find digit index (reversed) FRAC 1 0 * LSTx x><y - 10^x RCL (i) x><y / FRAC 1 0 * INT 147 - RTN ``` ## Learnings It's insane how simple and productive it is to write something for the calculator: There is absolutely zero nonsense involved, all you need to know is in the manual, you will never have to look something up on stack overflow, there are no nonsensical errors, you won't have to clear the cache of the IDE etc. Surely there must be a middleground between working on a high tower of faulty abstraction layers and writing in this oldschool machine language. Software development should be a lot simpler, it's insane how much time is spent on irrelevant nonsense.
json metadata{"tags":["programming","software","creative"],"image":["https://i.imgur.com/meHHiiD.jpg","https://upload.wikimedia.org/wikipedia/commons/thumb/6/6a/LondonScienceMuseumsReplicaDifferenceEngine.jpg/1920px-LondonScienceMuseumsReplicaDifferenceEngine.jpg"],"links":["https://en.wikipedia.org/wiki/Brainfuck","https://steemit.com/tutorial/@michaelzinn/programming-like-it-s-1981","https://en.wikipedia.org/wiki/Endianness","https://en.wikipedia.org/wiki/Difference_engine"],"app":"steemit/0.1","format":"markdown"}
parent author
parent permlinkprogramming
permlinkbabbage-s-difference-engine-in-brainfuck-on-a-calculator
titleBabbage's Difference Engine in Brainfuck on a Calculator
Transaction InfoBlock #22374745/Trx d6536e617aca2a7e2b9a1d1ca8c1f85f7467f70d
View Raw JSON Data
{
  "block": 22374745,
  "op": [
    "comment",
    {
      "author": "michaelzinn",
      "body": "tl;dr: The simplicity of this 1982 programmable calculator makes it possible to become a \"guru\" just by reading the manual: Since there are no abstraction layers that can fail you can just write whatever you want without wasting your time with demotivating nonsense like googling error messages or seeking through stackoverflow answers. Just code and it works!\n\n# Brainfuck Difference Engine on HP 15C Calculator Hardware Clone\n\nI was just sitting in a park, listening to some podcast and wondered \"Hey, why not write a Brainfuck interpreter for my calculator?\". So I grabbed my notebook and started scribbling.\n\n![Notebook](https://i.imgur.com/meHHiiD.jpg)\n\n\n## Brainfuck?\n\nIt's a programming language that only has eight instructions. The instructions operate on a tape of numbers.\n\n Instruction | Meaning \n-------------|---------\n     >       | Move tape head to the right\n     <       | Move tape head to the left\n     +       | Increment value at tape head position\n     -       | Decrement value at tape head position\n     .       | Print value at tape head position\n     ,       | Read value from input to tape head position\n     [       | Loop: Jump to after the corresponding ] if the value at the tape head position is 0\n     ]       | Loop: Jump to after the corresponding [ if the value at the tape head position is not 0\n\nFor example, this program prompts the user for two numbers and then adds them together:\n\n  ,>,[-<+>]<.\n\n\nFor more details, you can read the [Wikipedia article on Brainfuck](https://en.wikipedia.org/wiki/Brainfuck).\n\n\n\n## HP 15C\n\nIt's a programmable calculator from 1982 that has 20 registers of storage and the ability to do indirect register addressing and indirect jumping to labels based on register content, which comes in really handy when interpreting numbers as instructions. See [My previous blog post \"Programming like it's 1981\" about this thing](https://steemit.com/tutorial/@michaelzinn/programming-like-it-s-1981) for more details.\n\n\n\n## Implementing the Interpreter\n\nAn interpreter is a program that looks at data and interprets it as a program i.e. executing the instructions encoded in the data. In the case of the 15C calculator this means that there is an interpreter program written in the calculator's unnamed programming language that reads the numbers that are stored in the registers and behaves as if those numbers were Brainfuck instructions. So the first thing we need is a mapping from instructions to numbers:\n\n Instruction | Number \n-------------|--------\n     >       |  1\n     <       |  2\n     +       |  3\n     -       |  4\n     .       |  5\n     ,       |  6\n     [       |  7\n     ]       |  8\n\nFor example, the program \"+[.+]\", which prints all natural numbers, would be [3, 7, 5, 3, 8].\n\n\n### Instruction Pointer\n\nIf we put the instructions into the registers we need to keep track of which instruction to execute next: One register is used as the instruction pointer and contains the number of the register holding the next instruction to be executed; So we fetch the number from that register, execute the instruction, then add 1 to the instruction pointer and repeat.\n\n\n### Tape Pointer\n\nSince Brainfuck uses a tape head that moves across a tape of numbers, we need to store the tape head position in another register. The \">\" command moves the tape head to the right, \"<\" to the left.\n\nHowever, since we only have 20 registers in total, we should place code and tape on opposite ends of the register space, which means that the first tape cell is the last register, the second tape cell is the second to last register etc. and the \">\" command decreases the tape pointer register by 1 to move \"right\".\n\n\n### Loops\n\nBrainfuck loops can be nested to an arbitrary depth. A fast implementation would probably use some sort of look-up table for matching the loop brackets, but this would take too many registers so instead I opted for just one register that contains a \"loop nesting number\".\n\nConsider this program:\n\n  [+++++[++++++]++++++]++\n\nThe first \"[\" skips the block if the cell at the tape head position is zero. One solution for finding the matching \"]\" is to set the loop nesting number to 1, then read the program in the right direction and count each \"[\" as +1 and each \"]\" as -1. So when encountering the second \"[\" in the program, the loop nesting number becomes 2, on the next \"]\" it becomes 1 again and on the final \"]\" it becomes 0, which means we found the end of the current block and the program can now resume normal execution.\n\nJumping from the end of a block to the start works similarly: set the loop nesting number to -1 and seek backwards.\n\n### Memory Layout\n\nSo we need three special purpose registers, followed by Brainfuck code, followed by the tape. We can allocate the registers like this:\n\n| Register | Content                          |\n|:--------:|---------------------------------|\n|     0    | Instruction pointer |\n|     1    | Tape pointer        |\n|     2    | Loop nesting number |\n|     3    | Begin of program code |\n|    ...   | More program code |\n|    ...   | 0 (Signals end of program code) |\n|    ...   | More tape |\n|    19    | Begin of tape |\n\nNote that the tape grows backwards from the end of register space. Note that programs can corrupt themselves since there is no bounds checking.\n\n\n### Compacting code\n\nSince 20 registers are not enough to write any interesting programs at one instruction per register, we need a way to put more than one instruction in each register.\n\nThe HP 15C uses decimal numbers with a 10 digit mantissa, a 2 digit exponent and a sign, which means we can fit one instruction per digit. Consider this program that calculates fibonacci numbers:\n\n  +>+[[->+>+<<]<[->>>+<<<]>>>.]\n\nAt one digit per instruction, this fits into just 3 registers:\n\n  3137741313\n  2282741113\n  2228111580\n\n(Notice that the last number is padded with a 0 on the right side since the code is stored as [big endian](https://en.wikipedia.org/wiki/Endianness))\n\nIf we want to keep both the fast \"one instruction per register\"- and the compact \"ten instructions per register\"-mode we could use flag 0 to distinguish which mode to use.\n\n## Compiling code\n\nThe mapping of one instruction per register or digit is simple enough to write code directly on the calculator. However, it would be more convenient if we had a compiler that turns Brainfuck code into numbers.\n\nHere's a ruby script that does exactly that:\n\n```ruby\ninstruction_table = {\n  \">\" => 1,\n  \"<\" => 2,\n  \"+\" => 3,\n  \"-\" => 4,\n  \".\" => 5,\n  \",\" => 6,\n  \"[\" => 7,\n  \"]\" => 8\n}\n\nprogram = ARGV[0]\ninstructions = program.chars\ncodes = instructions.map { |i| instruction_table[i] }\n\n# Fast program (for programs up to 15 commands long)\nif(codes.size <= 15) then\n  registers = codes.map.with_index { |instruction, index|  \"#{instruction} STO #{index + 3}\" }\n\n  puts \n  puts \"Fast\"\n  puts \"====\"\n  puts \"CF 0\"\n  puts registers\nend\n\n# Compact program\nchunks = codes.each_slice(10).to_a.map { |a| a.fill(0, a.size...10) }\nregisters = chunks.map.with_index { |line, index| \"#{line.join} STO #{index + 3}\"}\n\nputs\nputs \"Compact\"\nputs \"=======\"\nputs \"SF 0\"\nputs registers\nputs\n```\n\nJust save this as bf.rb and start it like ```ruby bf.rb \"+[.+]\"``` to get an output like this:\n \n```\nFast\n====\nCF 0\n3 STO 3\n7 STO 4\n5 STO 5\n3 STO 6\n8 STO 7\n\nCompact\n=======\nSF 0\n3753800000 STO 3\n```\n\nFor programs that won't fit in Fast mode, only the Compact version will be shown:\n\n```ruby ../utils/bf_compile.rb \"+>+[[->+>+<<]<[->>>+<<<]>>>.]\"```\n\n```\nCompact\n=======\nSF 0\n3137741313 STO 3\n2282741113 STO 4\n2228111580 STO 5\n```\n\n\n## Charles Babbage's Difference Engine\n\nThe [Difference Engine](https://en.wikipedia.org/wiki/Difference_engine) was a machine to tabulate polynomials using divided differences. It wasn't programmable, but it ran a program that was parameterizable so you could use it to calculate different functions, e.g. logarithmic tables or sine tables.\n\n![Difference Engine](https://upload.wikimedia.org/wikipedia/commons/thumb/6/6a/LondonScienceMuseumsReplicaDifferenceEngine.jpg/1920px-LondonScienceMuseumsReplicaDifferenceEngine.jpg)\n\nHere is a simple implementation in Brainfuck: ```,>>,>>,>+[<[-<+<+>>]<[->+<]<[-<+<+>>]<<.>[->+<]>>>>]```\n\nYou can enter it into the calculator like this:\n\n```\nSF 0\n6116116137 STO 3\n2742323118 STO 4\n2741328274 STO 5\n2323118225 STO 6\n1741328111 STO 7\n1800000000 STO 8\n```\n\nWhen you run this program, it will ask you for three numbers corresponding to the initial number column setting of the Difference Engine. Examples:\n\n| Input | Output |\n|--------|----------|\n| 0, 1, 0 | Natural numbers (1, 2, 3 ...)|\n| 1, 1, 2 | Square numbers (1, 4, 9 ...)|\n\nSo there you have it: A running Difference Engine, implemented in Brainfuck, running on a HP 15C calculator from the eighties :)\n\n\n\n## Program\n\nNow all you have to do is enter the following code into your calculator. After you entered your program, run *A* to start the interpreter.\n\n  * Output will be displayed for one second.\n  * When input is required, the display will flash. Simply enter a number and hit *R/S* to continue.\n  * When the program terminates it will try to display the last output.\n\n\n### Registers\n\n| Register | Content                          |\n|:--------:|---------------------------------|\n|     0    | Instruction Pointer |\n|     1    | Tape Pointer        |\n|     2    | Loop nesting number |\n|     3    | Begin of program code |\n|    ...   | More program code |\n|    ...   | 0 (Signals end of program code) |\n|    ...   | More tape |\n|    19    | Begin of tape |\n\n\n### Flags\n\nFlag 0 is meant to be set/cleared by the user.\n\n| Flag | Status | Meaning |\n|:----:|:-------:|:-------:|\n|   0  | clear  | Fast mode (1 instruction per register) |\n|   0  |  set   | Compact mode (10 instructions per register) |\n|   1  | clear  | Seek forward to matching bracket |\n|   1  |  set   | Seek backward to matching bracket | \n\n\n### Labels\n\n| Label | Content |\n|:-----:|---------|\n|   B   | Run Brainfuck program |\n|   C   | Clear tape |\n|   E   | vRCL digit |\n|   0   | End program |\n|  1-8  | Run corresponding Brainfuck instruction |\n|   9   | Seek to matching bracket |\n|  10   | Fetch current instruction |\n|  11   | Execution loop |\n|  12   | Clear tape loop |\n\n\n### Code Listing\n\n```\n; init registers\n001 - LBL B\n  FIX 0\n  GSB C\n  10\n  ENTER\n  3\n  F? 0\n    *\n  STO 0\n  1\n  9\n  STO 1\n  0\n  STO 2\n\n; run program\n012 - LBL 11\n\n  ; fetch instruction\n  GSB 10\n\n  ; execute instruction\n  STO I\n  GSB I\n\n  ; increment instruction pointer\n  1\n  STO + 0\n\n  ; execute next instruction\n  GTO 11\n\n; clear tape\n019 - LBL C\n  CF 1\n  3.019\n  STO I\n  LBL 12\n    RCL (i)\n    x = 0 ?\n      SF 1\n    F? 1\n      CLx\n    STO (i)\n    ISG I\n      GTO 12\n  RTN\n\n; special \"stop program\" instruction\n037 - LBL 0\n  ; display last output for convenience\n  R/\\\n  R/S\n\n; \">\" (Move tape head to the right)\n044 - LBL 1\n  1\n  STO - 1\n  RTN\n\n; \"<\" (Move tape head to the left)\n048 - LBL 2\n  1\n  STO + 1\n  RTN\n\n; \"+\" (Increment value at tape head position)\n052 - LBL 3\n  RCL 1\n  STO I\n  1\n  STO + (i)\n  RTN\n\n; \"-\" (Decrement value at tape head position)\n058 - LBL 4\n  RCL 1\n  STO I\n  1\n  STO - (i)\n  RTN\n\n; \".\" (Output value at tape head position)\n064 - LBL 5\n  RCL 1\n  STO I\n  RCL (i)\n  PSE\n  RTN\n\n; \",\" (Input value to tape head position)\n070 - LBL 6\n  RCL 1\n  STO I\n  CLx\n  SF 9 ; blink\n  R/S\n  CF 9\n  STO (i)\n  RTN\n\n; \"[\" (begin loop)\n079 - LBL 7\n  RCL 1\n  STO I\n  RCL (i)\n  x != 0 ?\n    RTN\n  0\n  STO 2\n  CF 1 ; seek forward\n  GTO 9\n\n; \"]\" (end loop)\n089 - LBL 8\n  RCL 1\n  STO I\n  RCL (i)\n  x = 0 ?\n    RTN\n  0\n  STO 2\n  SF 1\n\n098 - LBL 9 ; seek to matching bracket\n    GSB 10\n    6\n    -\n    1\n    x = y ?\n      STO + 2\n    GSB 10\n    7\n    -\n    1  ; needed because GSB 10 modifies the stack\n    x = y ?\n      STO - 2\n    RCL 2\n    x = 0 ?\n      RTN\n    1\n    F? 1\n      CHS\n    STO + 0\n    GTO 9\n\n; fetch current instruction\n119 - LBL 10\n  RCL 0\n  F? 0\n    GTO E\n  STO I\n  RCL (i)\n  RTN\n\n; vRCL digit\n126 - LBL E\n  ; find correct register\n  1\n  0\n  /\n  STO I\n\n  ; find digit index (reversed)\n  FRAC\n  1\n  0\n  *\n  LSTx\n  x><y\n  -\n  10^x\n  RCL (i)\n  x><y\n  /\n  FRAC\n  1\n  0\n  *\n  INT\n147 - RTN\n```\n\n\n\n## Learnings\n\nIt's insane how simple and productive it is to write something for the calculator: There is absolutely zero nonsense involved, all you need to know is in the manual, you will never have to look something up on stack overflow, there are no nonsensical errors, you won't have to clear the cache of the IDE etc. Surely there must be a middleground between working on a high tower of faulty abstraction layers and writing in this oldschool machine language.\n\nSoftware development should be a lot simpler, it's insane how much time is spent on irrelevant nonsense.",
      "json_metadata": "{\"tags\":[\"programming\",\"software\",\"creative\"],\"image\":[\"https://i.imgur.com/meHHiiD.jpg\",\"https://upload.wikimedia.org/wikipedia/commons/thumb/6/6a/LondonScienceMuseumsReplicaDifferenceEngine.jpg/1920px-LondonScienceMuseumsReplicaDifferenceEngine.jpg\"],\"links\":[\"https://en.wikipedia.org/wiki/Brainfuck\",\"https://steemit.com/tutorial/@michaelzinn/programming-like-it-s-1981\",\"https://en.wikipedia.org/wiki/Endianness\",\"https://en.wikipedia.org/wiki/Difference_engine\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}",
      "parent_author": "",
      "parent_permlink": "programming",
      "permlink": "babbage-s-difference-engine-in-brainfuck-on-a-calculator",
      "title": "Babbage's Difference Engine in Brainfuck on a Calculator"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-05-12T20:21:36",
  "trx_id": "d6536e617aca2a7e2b9a1d1ca8c1f85f7467f70d",
  "trx_in_block": 5,
  "virtual_op": 0
}
2018/04/22 10:37:48
authorgric
permlinkthe-timetraveller-ii-is-finished-the-process-and-some-details
votermichaelzinn
weight10000 (100.00%)
Transaction InfoBlock #21787840/Trx 7b9eead88daa9afff9135948b5f5e27080d26dcb
View Raw JSON Data
{
  "block": 21787840,
  "op": [
    "vote",
    {
      "author": "gric",
      "permlink": "the-timetraveller-ii-is-finished-the-process-and-some-details",
      "voter": "michaelzinn",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-04-22T10:37:48",
  "trx_id": "7b9eead88daa9afff9135948b5f5e27080d26dcb",
  "trx_in_block": 44,
  "virtual_op": 0
}
michaelzinnreceived 0.001 STEEM, 0.017 SBD, 0.014 SP author reward for @michaelzinn / hello-steemit
2018/03/25 21:47:33
authormichaelzinn
permlinkhello-steemit
sbd payout0.017 SBD
steem payout0.001 STEEM
vesting payout22.444158 VESTS
Transaction InfoBlock #20994988/Virtual Operation #8
View Raw JSON Data
{
  "block": 20994988,
  "op": [
    "author_reward",
    {
      "author": "michaelzinn",
      "permlink": "hello-steemit",
      "sbd_payout": "0.017 SBD",
      "steem_payout": "0.001 STEEM",
      "vesting_payout": "22.444158 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-03-25T21:47:33",
  "trx_id": "0000000000000000000000000000000000000000",
  "trx_in_block": 4294967295,
  "virtual_op": 8
}
2018/03/25 19:39:03
authormichaelzinn
permlinkre-sphericalart-re-michaelzinn-hello-steemit-20180325t170157425z
votersphericalart
weight10000 (100.00%)
Transaction InfoBlock #20992420/Trx b71d85bc9c2e613d0523aab6c6abfd7ba5fbc488
View Raw JSON Data
{
  "block": 20992420,
  "op": [
    "vote",
    {
      "author": "michaelzinn",
      "permlink": "re-sphericalart-re-michaelzinn-hello-steemit-20180325t170157425z",
      "voter": "sphericalart",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-03-25T19:39:03",
  "trx_id": "b71d85bc9c2e613d0523aab6c6abfd7ba5fbc488",
  "trx_in_block": 52,
  "virtual_op": 0
}
2018/03/25 17:02:03
authormichaelzinn
bodyThank you very much, those are great suggestions.
json metadata{"tags":["introduceyourself"],"app":"steemit/0.1"}
parent authorsphericalart
parent permlinkre-michaelzinn-hello-steemit-20180318t220906809z
permlinkre-sphericalart-re-michaelzinn-hello-steemit-20180325t170157425z
title
Transaction InfoBlock #20989282/Trx 3b3a1e12137bd51f007c90e841194bba4a82c0dd
View Raw JSON Data
{
  "block": 20989282,
  "op": [
    "comment",
    {
      "author": "michaelzinn",
      "body": "Thank you very much, those are great suggestions.",
      "json_metadata": "{\"tags\":[\"introduceyourself\"],\"app\":\"steemit/0.1\"}",
      "parent_author": "sphericalart",
      "parent_permlink": "re-michaelzinn-hello-steemit-20180318t220906809z",
      "permlink": "re-sphericalart-re-michaelzinn-hello-steemit-20180325t170157425z",
      "title": ""
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-03-25T17:02:03",
  "trx_id": "3b3a1e12137bd51f007c90e841194bba4a82c0dd",
  "trx_in_block": 22,
  "virtual_op": 0
}
michaelzinnreceived 0.001 STEEM, 0.271 SBD, 0.174 SP author reward for @michaelzinn / programming-like-it-s-1981
2018/03/21 21:06:03
authormichaelzinn
permlinkprogramming-like-it-s-1981
sbd payout0.271 SBD
steem payout0.001 STEEM
vesting payout283.672502 VESTS
Transaction InfoBlock #20879346/Virtual Operation #4
View Raw JSON Data
{
  "block": 20879346,
  "op": [
    "author_reward",
    {
      "author": "michaelzinn",
      "permlink": "programming-like-it-s-1981",
      "sbd_payout": "0.271 SBD",
      "steem_payout": "0.001 STEEM",
      "vesting_payout": "283.672502 VESTS"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-03-21T21:06:03",
  "trx_id": "0000000000000000000000000000000000000000",
  "trx_in_block": 4294967295,
  "virtual_op": 4
}
2018/03/20 22:01:06
authorforestwampus
body@@ -72,8 +72,74 @@ Omen..? +%0AVery interesting post, indeed. Not so useful, but interesting! :D
json metadata{"tags":["software"],"app":"steemit/0.1"}
parent authormichaelzinn
parent permlinkstore-text-in-a-deck-of-cards
permlinkre-michaelzinn-store-text-in-a-deck-of-cards-20180320t220023339z
title
Transaction InfoBlock #20852064/Trx 019fe1d2fa34943cbacb0f309d0322842daac0c9
View Raw JSON Data
{
  "block": 20852064,
  "op": [
    "comment",
    {
      "author": "forestwampus",
      "body": "@@ -72,8 +72,74 @@\n  Omen..?\n+%0AVery interesting post, indeed. Not so useful, but interesting! :D\n",
      "json_metadata": "{\"tags\":[\"software\"],\"app\":\"steemit/0.1\"}",
      "parent_author": "michaelzinn",
      "parent_permlink": "store-text-in-a-deck-of-cards",
      "permlink": "re-michaelzinn-store-text-in-a-deck-of-cards-20180320t220023339z",
      "title": ""
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-03-20T22:01:06",
  "trx_id": "019fe1d2fa34943cbacb0f309d0322842daac0c9",
  "trx_in_block": 37,
  "virtual_op": 0
}
2018/03/20 22:00:24
authorforestwampus
bodyDo I get some special reward for decoding..... (SPOILER ALERT.....) Bad Omen..?
json metadata{"tags":["software"],"app":"steemit/0.1"}
parent authormichaelzinn
parent permlinkstore-text-in-a-deck-of-cards
permlinkre-michaelzinn-store-text-in-a-deck-of-cards-20180320t220023339z
title
Transaction InfoBlock #20852050/Trx 1a722562edb01b9c235b722d68d5040530e4eccc
View Raw JSON Data
{
  "block": 20852050,
  "op": [
    "comment",
    {
      "author": "forestwampus",
      "body": "Do I get some special reward for decoding..... (SPOILER ALERT.....) Bad Omen..?",
      "json_metadata": "{\"tags\":[\"software\"],\"app\":\"steemit/0.1\"}",
      "parent_author": "michaelzinn",
      "parent_permlink": "store-text-in-a-deck-of-cards",
      "permlink": "re-michaelzinn-store-text-in-a-deck-of-cards-20180320t220023339z",
      "title": ""
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-03-20T22:00:24",
  "trx_id": "1a722562edb01b9c235b722d68d5040530e4eccc",
  "trx_in_block": 6,
  "virtual_op": 0
}
2018/03/20 21:57:09
authormichaelzinn
permlinkstore-text-in-a-deck-of-cards
voterforestwampus
weight10000 (100.00%)
Transaction InfoBlock #20851985/Trx a334103cd3f189e3e94322068a7cb541b91ba34f
View Raw JSON Data
{
  "block": 20851985,
  "op": [
    "vote",
    {
      "author": "michaelzinn",
      "permlink": "store-text-in-a-deck-of-cards",
      "voter": "forestwampus",
      "weight": 10000
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-03-20T21:57:09",
  "trx_id": "a334103cd3f189e3e94322068a7cb541b91ba34f",
  "trx_in_block": 24,
  "virtual_op": 0
}
2018/03/20 21:45:33
idfollow
json["follow",{"follower":"michaelzinn","following":"iraniran","what":["ignore"]}]
required auths[]
required posting auths["michaelzinn"]
Transaction InfoBlock #20851753/Trx 07c73925351837397a5034f1908bf3488c3bde44
View Raw JSON Data
{
  "block": 20851753,
  "op": [
    "custom_json",
    {
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"michaelzinn\",\"following\":\"iraniran\",\"what\":[\"ignore\"]}]",
      "required_auths": [],
      "required_posting_auths": [
        "michaelzinn"
      ]
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-03-20T21:45:33",
  "trx_id": "07c73925351837397a5034f1908bf3488c3bde44",
  "trx_in_block": 2,
  "virtual_op": 0
}
2018/03/20 21:45:06
authormichaelzinn
body@@ -1,31 +1,5 @@ -Ridiculous, but it works: s +S tore
json metadata{"tags":["software","programming","art","tarot","math"],"image":["https://i.imgur.com/qCLTrAu.jpg","https://i.imgur.com/i9x9nOx.jpg"],"links":["https://github.com/RedNifre/cardfs","https://en.wikipedia.org/wiki/UTF-8"],"app":"steemit/0.1","format":"markdown"}
parent author
parent permlinksoftware
permlinkstore-text-in-a-deck-of-cards
titleStore Text in a Deck of Cards
Transaction InfoBlock #20851744/Trx ff84fd6cbfe3527cb570951a0d9da542ca48b54c
View Raw JSON Data
{
  "block": 20851744,
  "op": [
    "comment",
    {
      "author": "michaelzinn",
      "body": "@@ -1,31 +1,5 @@\n-Ridiculous, but it works: s\n+S\n tore\n",
      "json_metadata": "{\"tags\":[\"software\",\"programming\",\"art\",\"tarot\",\"math\"],\"image\":[\"https://i.imgur.com/qCLTrAu.jpg\",\"https://i.imgur.com/i9x9nOx.jpg\"],\"links\":[\"https://github.com/RedNifre/cardfs\",\"https://en.wikipedia.org/wiki/UTF-8\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}",
      "parent_author": "",
      "parent_permlink": "software",
      "permlink": "store-text-in-a-deck-of-cards",
      "title": "Store Text in a Deck of Cards"
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-03-20T21:45:06",
  "trx_id": "ff84fd6cbfe3527cb570951a0d9da542ca48b54c",
  "trx_in_block": 19,
  "virtual_op": 0
}
2018/03/20 21:43:57
authoriraniran
body#### Hi steemiren #### Fallow me then send a massage #### I will give you a good upvote ## And ### I invite you to join us ### https://c3k93.app.goo.gl/i/J5psE # 🎋
json metadata{"tags":["software","programming","art","tarot","math"],"app":"esteem/1.5.1","format":"markdown+html","community":"esteem"}
parent authormichaelzinn
parent permlinkstore-text-in-a-deck-of-cards
permlinkre-michaelzinn-2018321t11352639z
title
Transaction InfoBlock #20851721/Trx 2f9df083002fe420e3fffab8cf57d80d987f7d57
View Raw JSON Data
{
  "block": 20851721,
  "op": [
    "comment",
    {
      "author": "iraniran",
      "body": "#### Hi steemiren \n #### Fallow me then send a massage \n#### I will give you a good upvote\n\n## And\n### I invite you to join us \n\n###  https://c3k93.app.goo.gl/i/J5psE\n\n# 🎋",
      "json_metadata": "{\"tags\":[\"software\",\"programming\",\"art\",\"tarot\",\"math\"],\"app\":\"esteem/1.5.1\",\"format\":\"markdown+html\",\"community\":\"esteem\"}",
      "parent_author": "michaelzinn",
      "parent_permlink": "store-text-in-a-deck-of-cards",
      "permlink": "re-michaelzinn-2018321t11352639z",
      "title": ""
    }
  ],
  "op_in_trx": 0,
  "timestamp": "2018-03-20T21:43:57",
  "trx_id": "2f9df083002fe420e3fffab8cf57d80d987f7d57",
  "trx_in_block": 0,
  "virtual_op": 0
}

Account Metadata

POSTING JSON METADATA
profile{"profile_image":"https://pbs.twimg.com/profile_images/984835492796686336/4OR_3y3L_400x400.jpg","name":"Michael Zinn","about":"@RedNifre on Twitter"}
JSON METADATA
profile{"profile_image":"https://pbs.twimg.com/profile_images/984835492796686336/4OR_3y3L_400x400.jpg","name":"Michael Zinn","about":"@RedNifre on Twitter"}
{
  "posting_json_metadata": {
    "profile": {
      "profile_image": "https://pbs.twimg.com/profile_images/984835492796686336/4OR_3y3L_400x400.jpg",
      "name": "Michael Zinn",
      "about": "@RedNifre on Twitter"
    }
  },
  "json_metadata": {
    "profile": {
      "profile_image": "https://pbs.twimg.com/profile_images/984835492796686336/4OR_3y3L_400x400.jpg",
      "name": "Michael Zinn",
      "about": "@RedNifre on Twitter"
    }
  }
}

Auth Keys

Owner
Single Signature
Public Keys
STM6xoJ8hbAhUpXXsJrL8KYNwBooXtogxWRw4J3Dbo81PywNfUKPZ1/1
Active
Single Signature
Public Keys
STM65ipy4JEyrtF6nXzh1Fd1QewXMD3K2bBBhpmuRfSFFKmWtqhSb1/1
Posting
Single Signature
Public Keys
STM8VJ3gTkuJL5TmzwoN98mNfNJ4QcPywMofDvDG3FY49ajFm3vRJ1/1
Memo
STM7ph9b8tkxn27cuUWKTFZNLtinC1hbRafb5EmKwLWsE2BPNoWSt
{
  "owner": {
    "account_auths": [],
    "key_auths": [
      [
        "STM6xoJ8hbAhUpXXsJrL8KYNwBooXtogxWRw4J3Dbo81PywNfUKPZ",
        1
      ]
    ],
    "weight_threshold": 1
  },
  "active": {
    "account_auths": [],
    "key_auths": [
      [
        "STM65ipy4JEyrtF6nXzh1Fd1QewXMD3K2bBBhpmuRfSFFKmWtqhSb",
        1
      ]
    ],
    "weight_threshold": 1
  },
  "posting": {
    "account_auths": [],
    "key_auths": [
      [
        "STM8VJ3gTkuJL5TmzwoN98mNfNJ4QcPywMofDvDG3FY49ajFm3vRJ",
        1
      ]
    ],
    "weight_threshold": 1
  },
  "memo": "STM7ph9b8tkxn27cuUWKTFZNLtinC1hbRafb5EmKwLWsE2BPNoWSt"
}

Witness Votes

0 / 30
No active witness votes.
[]