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 DelegationsDeleg
+4.881SP
Detailed Balance
| STEEM | ||
| balance | 0.000STEEM | STEEM |
| market_balance | 0.000STEEM | STEEM |
| savings_balance | 0.000STEEM | STEEM |
| reward_steem_balance | 0.002STEEM | STEEM |
| STEEM POWER | ||
| Own SP | 0.126SP | SP |
| Delegated Out | 0.000SP | SP |
| Delegation In | 4.881SP | SP |
| Effective Power | 5.007SP | SP |
| Reward SP (pending) | 0.178SP | SP |
| SBD | ||
| sbd_balance | 0.002SBD | SBD |
| sbd_conversions | 0.000SBD | SBD |
| sbd_market_balance | 0.000SBD | SBD |
| savings_sbd_balance | 0.000SBD | SBD |
| reward_sbd_balance | 0.368SBD | SBD |
{
"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
| name | michaelzinn |
| id | 821387 |
| rank | 246,929 |
| reputation | 3520631237 |
| created | 2018-03-12T12:20:36 |
| recovery_account | steem |
| proxy | None |
| post_count | 8 |
| comment_count | 0 |
| lifetime_vote_count | 0 |
| witnesses_voted_for | 0 |
| last_post | 2019-06-13T18:10:42 |
| last_root_post | 2018-05-12T20:21:36 |
| last_vote_time | 2018-07-14T08:04:21 |
| proxied_vsf_votes | 0, 0, 0, 0 |
| can_vote | 1 |
| voting_power | 0 |
| delayed_votes | 0 |
| balance | 0.000 STEEM |
| savings_balance | 0.000 STEEM |
| sbd_balance | 0.002 SBD |
| savings_sbd_balance | 0.000 SBD |
| vesting_shares | 204.180350 VESTS |
| delegated_vesting_shares | 0.000000 VESTS |
| received_vesting_shares | 7939.479456 VESTS |
| reward_vesting_balance | 363.083670 VESTS |
| vesting_balance | 0.000 STEEM |
| vesting_withdraw_rate | 0.000000 VESTS |
| next_vesting_withdrawal | 1969-12-31T23:59:59 |
| withdrawn | 0 |
| to_withdraw | 0 |
| withdraw_routes | 0 |
| savings_withdraw_requests | 0 |
| last_account_recovery | 1970-01-01T00:00:00 |
| reset_account | null |
| last_owner_update | 1970-01-01T00:00:00 |
| last_account_update | 2018-05-13T09:04:09 |
| mined | No |
| sbd_seconds | 0 |
| sbd_last_interest_payment | 1970-01-01T00:00:00 |
| savings_sbd_last_interest_payment | 1970-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
| Incoming | Outgoing |
|---|---|
Empty | Empty |
{
"incoming": [],
"outgoing": []
}From Date
To Date
steemdelegated 4.881 SP to @michaelzinn2026/05/18 03:44:54
steemdelegated 4.881 SP to @michaelzinn
2026/05/18 03:44:54
| delegatee | michaelzinn |
| delegator | steem |
| vesting shares | 7939.479456 VESTS |
| Transaction Info | Block #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 @michaelzinn2026/05/12 18:00:33
steemdelegated 3.214 SP to @michaelzinn
2026/05/12 18:00:33
| delegatee | michaelzinn |
| delegator | steem |
| vesting shares | 5227.269051 VESTS |
| Transaction Info | Block #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 @michaelzinn2026/04/26 03:00:18
steemdelegated 4.889 SP to @michaelzinn
2026/04/26 03:00:18
| delegatee | michaelzinn |
| delegator | steem |
| vesting shares | 7951.995212 VESTS |
| Transaction Info | Block #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 @michaelzinn2026/01/23 17:10:42
steemdelegated 3.239 SP to @michaelzinn
2026/01/23 17:10:42
| delegatee | michaelzinn |
| delegator | steem |
| vesting shares | 5268.815870 VESTS |
| Transaction Info | Block #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 @michaelzinn2024/12/17 12:23:39
steemdelegated 3.340 SP to @michaelzinn
2024/12/17 12:23:39
| delegatee | michaelzinn |
| delegator | steem |
| vesting shares | 5433.035067 VESTS |
| Transaction Info | Block #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 @michaelzinn2023/11/14 04:05:33
steemdelegated 3.444 SP to @michaelzinn
2023/11/14 04:05:33
| delegatee | michaelzinn |
| delegator | steem |
| vesting shares | 5602.168599 VESTS |
| Transaction Info | Block #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 @michaelzinn2023/09/22 01:56:27
steemdelegated 5.250 SP to @michaelzinn
2023/09/22 01:56:27
| delegatee | michaelzinn |
| delegator | steem |
| vesting shares | 8539.447385 VESTS |
| Transaction Info | Block #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 @michaelzinn2022/11/03 15:13:48
steemdelegated 5.386 SP to @michaelzinn
2022/11/03 15:13:48
| delegatee | michaelzinn |
| delegator | steem |
| vesting shares | 8761.128823 VESTS |
| Transaction Info | Block #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 @michaelzinn2022/01/17 20:40:42
steemdelegated 5.521 SP to @michaelzinn
2022/01/17 20:40:42
| delegatee | michaelzinn |
| delegator | steem |
| vesting shares | 8981.236424 VESTS |
| Transaction Info | Block #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 @michaelzinn2021/06/14 03:58:09
steemdelegated 5.635 SP to @michaelzinn
2021/06/14 03:58:09
| delegatee | michaelzinn |
| delegator | steem |
| vesting shares | 9165.430712 VESTS |
| Transaction Info | Block #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 @michaelzinn2020/12/11 14:12:57
steemdelegated 5.750 SP to @michaelzinn
2020/12/11 14:12:57
| delegatee | michaelzinn |
| delegator | steem |
| vesting shares | 9352.852686 VESTS |
| Transaction Info | Block #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 @michaelzinn2020/12/06 07:48:57
steemdelegated 1.176 SP to @michaelzinn
2020/12/06 07:48:57
| delegatee | michaelzinn |
| delegator | steem |
| vesting shares | 1912.543513 VESTS |
| Transaction Info | Block #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 @michaelzinn2020/12/05 17:50:45
steemdelegated 5.754 SP to @michaelzinn
2020/12/05 17:50:45
| delegatee | michaelzinn |
| delegator | steem |
| vesting shares | 9359.060540 VESTS |
| Transaction Info | Block #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 @michaelzinn2020/11/02 22:03:24
steemdelegated 1.180 SP to @michaelzinn
2020/11/02 22:03:24
| delegatee | michaelzinn |
| delegator | steem |
| vesting shares | 1920.017158 VESTS |
| Transaction Info | Block #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 @michaelzinn2020/05/09 08:49:51
steemdelegated 5.878 SP to @michaelzinn
2020/05/09 08:49:51
| delegatee | michaelzinn |
| delegator | steem |
| vesting shares | 9561.865899 VESTS |
| Transaction Info | Block #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 @michaelzinn2020/05/08 12:54:09
steemdelegated 1.201 SP to @michaelzinn
2020/05/08 12:54:09
| delegatee | michaelzinn |
| delegator | steem |
| vesting shares | 1953.311140 VESTS |
| Transaction Info | Block #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
2020/03/12 13:08:12
| author | steemitboard |
| body | Congratulations @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/"></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 author | michaelzinn |
| parent permlink | babbage-s-difference-engine-in-brainfuck-on-a-calculator |
| permlink | steemitboard-notify-michaelzinn-20200312t130812000z |
| title | |
| Transaction Info | Block #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/\"></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 @michaelzinn2019/09/12 20:11:00
steemdelegated 5.962 SP to @michaelzinn
2019/09/12 20:11:00
| delegatee | michaelzinn |
| delegator | steem |
| vesting shares | 9697.712306 VESTS |
| Transaction Info | Block #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 @michaelzinn2019/06/13 19:56:57
steemdelegated 18.237 SP to @michaelzinn
2019/06/13 19:56:57
| delegatee | michaelzinn |
| delegator | steem |
| vesting shares | 29663.531856 VESTS |
| Transaction Info | Block #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
}michaelzinnreplied to @michaelzinn / pt1uhs2019/06/13 18:10:42
michaelzinnreplied to @michaelzinn / pt1uhs
2019/06/13 18:10:42
| author | michaelzinn |
| body | I 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 author | michaelzinn |
| parent permlink | babbage-s-difference-engine-in-brainfuck-on-a-calculator |
| permlink | pt1uhs |
| title | |
| Transaction Info | Block #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
2019/03/12 14:59:42
| author | steemitboard |
| body | Congratulations @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 author | michaelzinn |
| parent permlink | babbage-s-difference-engine-in-brainfuck-on-a-calculator |
| permlink | steemitboard-notify-michaelzinn-20190312t145942000z |
| title | |
| Transaction Info | Block #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 @michaelzinn2018/10/13 08:53:39
steemdelegated 6.080 SP to @michaelzinn
2018/10/13 08:53:39
| delegatee | michaelzinn |
| delegator | steem |
| vesting shares | 9889.934577 VESTS |
| Transaction Info | Block #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 @michaelzinn2018/07/17 16:58:03
steemdelegated 18.579 SP to @michaelzinn
2018/07/17 16:58:03
| delegatee | michaelzinn |
| delegator | steem |
| vesting shares | 30219.899356 VESTS |
| Transaction Info | Block #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
}michaelzinnupvoted (100.00%) @gric / central-nave-ii-original-painting-process2018/07/14 08:04:21
michaelzinnupvoted (100.00%) @gric / central-nave-ii-original-painting-process
2018/07/14 08:04:21
| author | gric |
| permlink | central-nave-ii-original-painting-process |
| voter | michaelzinn |
| weight | 10000 (100.00%) |
| Transaction Info | Block #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
}michaelzinnreceived 0.080 SBD, 0.035 SP author reward for @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator2018/05/19 20:21:36
michaelzinnreceived 0.080 SBD, 0.035 SP author reward for @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator
2018/05/19 20:21:36
| 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 |
| Transaction Info | Block #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
}deeplearningupvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator2018/05/16 16:03:27
deeplearningupvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator
2018/05/16 16:03:27
| author | michaelzinn |
| permlink | babbage-s-difference-engine-in-brainfuck-on-a-calculator |
| voter | deeplearning |
| weight | 10000 (100.00%) |
| Transaction Info | Block #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
}michaelzinnupvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator2018/05/15 08:15:36
michaelzinnupvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator
2018/05/15 08:15:36
| author | michaelzinn |
| permlink | babbage-s-difference-engine-in-brainfuck-on-a-calculator |
| voter | michaelzinn |
| weight | 10000 (100.00%) |
| Transaction Info | Block #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 properties2018/05/13 09:04:09
michaelzinnupdated their account properties
2018/05/13 09:04:09
| 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 |
| Transaction Info | Block #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
}ibezupvoted (20.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator2018/05/13 02:08:27
ibezupvoted (20.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator
2018/05/13 02:08:27
| author | michaelzinn |
| permlink | babbage-s-difference-engine-in-brainfuck-on-a-calculator |
| voter | ibez |
| weight | 2000 (20.00%) |
| Transaction Info | Block #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
2018/05/13 01:53:33
| author | michaelzinn |
| permlink | babbage-s-difference-engine-in-brainfuck-on-a-calculator |
| voter | akiyoshispartan |
| weight | 5000 (50.00%) |
| Transaction Info | Block #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
}eet25upvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator2018/05/13 01:53:33
eet25upvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator
2018/05/13 01:53:33
| author | michaelzinn |
| permlink | babbage-s-difference-engine-in-brainfuck-on-a-calculator |
| voter | eet25 |
| weight | 10000 (100.00%) |
| Transaction Info | Block #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
}dentaraupvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator2018/05/13 01:53:33
dentaraupvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator
2018/05/13 01:53:33
| author | michaelzinn |
| permlink | babbage-s-difference-engine-in-brainfuck-on-a-calculator |
| voter | dentara |
| weight | 10000 (100.00%) |
| Transaction Info | Block #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
}gundulkiboupvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator2018/05/13 01:53:33
gundulkiboupvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator
2018/05/13 01:53:33
| author | michaelzinn |
| permlink | babbage-s-difference-engine-in-brainfuck-on-a-calculator |
| voter | gundulkibo |
| weight | 10000 (100.00%) |
| Transaction Info | Block #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
}littlemozartupvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator2018/05/13 01:53:33
littlemozartupvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator
2018/05/13 01:53:33
| author | michaelzinn |
| permlink | babbage-s-difference-engine-in-brainfuck-on-a-calculator |
| voter | littlemozart |
| weight | 10000 (100.00%) |
| Transaction Info | Block #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
}mrmuktiiiupvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator2018/05/13 01:53:33
mrmuktiiiupvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator
2018/05/13 01:53:33
| author | michaelzinn |
| permlink | babbage-s-difference-engine-in-brainfuck-on-a-calculator |
| voter | mrmuktiii |
| weight | 10000 (100.00%) |
| Transaction Info | Block #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
}hattaupvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator2018/05/13 01:53:33
hattaupvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator
2018/05/13 01:53:33
| author | michaelzinn |
| permlink | babbage-s-difference-engine-in-brainfuck-on-a-calculator |
| voter | hatta |
| weight | 10000 (100.00%) |
| Transaction Info | Block #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
}fadlinupvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator2018/05/13 01:53:33
fadlinupvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator
2018/05/13 01:53:33
| author | michaelzinn |
| permlink | babbage-s-difference-engine-in-brainfuck-on-a-calculator |
| voter | fadlin |
| weight | 10000 (100.00%) |
| Transaction Info | Block #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
}alamcraftupvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator2018/05/13 01:53:33
alamcraftupvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator
2018/05/13 01:53:33
| author | michaelzinn |
| permlink | babbage-s-difference-engine-in-brainfuck-on-a-calculator |
| voter | alamcraft |
| weight | 10000 (100.00%) |
| Transaction Info | Block #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
}riyansyahbpupvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator2018/05/13 01:53:33
riyansyahbpupvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator
2018/05/13 01:53:33
| author | michaelzinn |
| permlink | babbage-s-difference-engine-in-brainfuck-on-a-calculator |
| voter | riyansyahbp |
| weight | 10000 (100.00%) |
| Transaction Info | Block #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
}audrybieupvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator2018/05/13 01:53:33
audrybieupvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator
2018/05/13 01:53:33
| author | michaelzinn |
| permlink | babbage-s-difference-engine-in-brainfuck-on-a-calculator |
| voter | audrybie |
| weight | 10000 (100.00%) |
| Transaction Info | Block #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
}fikrahaikalupvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator2018/05/13 01:53:33
fikrahaikalupvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator
2018/05/13 01:53:33
| author | michaelzinn |
| permlink | babbage-s-difference-engine-in-brainfuck-on-a-calculator |
| voter | fikrahaikal |
| weight | 10000 (100.00%) |
| Transaction Info | Block #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
}chairulfadlinupvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator2018/05/13 01:53:33
chairulfadlinupvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator
2018/05/13 01:53:33
| author | michaelzinn |
| permlink | babbage-s-difference-engine-in-brainfuck-on-a-calculator |
| voter | chairulfadlin |
| weight | 10000 (100.00%) |
| Transaction Info | Block #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
}beladroupvoted (50.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator2018/05/13 01:53:24
beladroupvoted (50.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator
2018/05/13 01:53:24
| author | michaelzinn |
| permlink | babbage-s-difference-engine-in-brainfuck-on-a-calculator |
| voter | beladro |
| weight | 5000 (50.00%) |
| Transaction Info | Block #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
}bonesumpalupvoted (50.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator2018/05/13 01:53:24
bonesumpalupvoted (50.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator
2018/05/13 01:53:24
| author | michaelzinn |
| permlink | babbage-s-difference-engine-in-brainfuck-on-a-calculator |
| voter | bonesumpal |
| weight | 5000 (50.00%) |
| Transaction Info | Block #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
}mukhlis4upvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator2018/05/13 01:53:24
mukhlis4upvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator
2018/05/13 01:53:24
| author | michaelzinn |
| permlink | babbage-s-difference-engine-in-brainfuck-on-a-calculator |
| voter | mukhlis4 |
| weight | 10000 (100.00%) |
| Transaction Info | Block #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
2018/05/13 01:53:24
| author | michaelzinn |
| permlink | babbage-s-difference-engine-in-brainfuck-on-a-calculator |
| voter | chukuibijenny |
| weight | 5000 (50.00%) |
| Transaction Info | Block #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
}rizalmaulanaupvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator2018/05/13 01:53:24
rizalmaulanaupvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator
2018/05/13 01:53:24
| author | michaelzinn |
| permlink | babbage-s-difference-engine-in-brainfuck-on-a-calculator |
| voter | rizalmaulana |
| weight | 10000 (100.00%) |
| Transaction Info | Block #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
}snowgoatupvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator2018/05/13 01:53:24
snowgoatupvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator
2018/05/13 01:53:24
| author | michaelzinn |
| permlink | babbage-s-difference-engine-in-brainfuck-on-a-calculator |
| voter | snowgoat |
| weight | 10000 (100.00%) |
| Transaction Info | Block #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
}fauzi03upvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator2018/05/13 01:53:24
fauzi03upvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator
2018/05/13 01:53:24
| author | michaelzinn |
| permlink | babbage-s-difference-engine-in-brainfuck-on-a-calculator |
| voter | fauzi03 |
| weight | 10000 (100.00%) |
| Transaction Info | Block #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
}jutdagutupvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator2018/05/13 01:53:24
jutdagutupvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator
2018/05/13 01:53:24
| author | michaelzinn |
| permlink | babbage-s-difference-engine-in-brainfuck-on-a-calculator |
| voter | jutdagut |
| weight | 10000 (100.00%) |
| Transaction Info | Block #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
}borunirajaupvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator2018/05/13 01:53:24
borunirajaupvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator
2018/05/13 01:53:24
| author | michaelzinn |
| permlink | babbage-s-difference-engine-in-brainfuck-on-a-calculator |
| voter | boruniraja |
| weight | 10000 (100.00%) |
| Transaction Info | Block #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
}maidisangkotupvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator2018/05/13 01:53:24
maidisangkotupvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator
2018/05/13 01:53:24
| author | michaelzinn |
| permlink | babbage-s-difference-engine-in-brainfuck-on-a-calculator |
| voter | maidisangkot |
| weight | 10000 (100.00%) |
| Transaction Info | Block #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
}thegreatsilabanupvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator2018/05/13 01:53:24
thegreatsilabanupvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator
2018/05/13 01:53:24
| author | michaelzinn |
| permlink | babbage-s-difference-engine-in-brainfuck-on-a-calculator |
| voter | thegreatsilaban |
| weight | 10000 (100.00%) |
| Transaction Info | Block #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
}jewierartupvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator2018/05/13 01:53:24
jewierartupvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator
2018/05/13 01:53:24
| author | michaelzinn |
| permlink | babbage-s-difference-engine-in-brainfuck-on-a-calculator |
| voter | jewierart |
| weight | 10000 (100.00%) |
| Transaction Info | Block #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
}anggaariskaupvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator2018/05/13 01:53:24
anggaariskaupvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator
2018/05/13 01:53:24
| author | michaelzinn |
| permlink | babbage-s-difference-engine-in-brainfuck-on-a-calculator |
| voter | anggaariska |
| weight | 10000 (100.00%) |
| Transaction Info | Block #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
}fajrieffendiupvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator2018/05/13 01:53:24
fajrieffendiupvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator
2018/05/13 01:53:24
| author | michaelzinn |
| permlink | babbage-s-difference-engine-in-brainfuck-on-a-calculator |
| voter | fajrieffendi |
| weight | 10000 (100.00%) |
| Transaction Info | Block #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
}isaideurekaupvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator2018/05/13 01:53:18
isaideurekaupvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator
2018/05/13 01:53:18
| author | michaelzinn |
| permlink | babbage-s-difference-engine-in-brainfuck-on-a-calculator |
| voter | isaideureka |
| weight | 10000 (100.00%) |
| Transaction Info | Block #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
}veryspiderupvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator2018/05/12 23:37:09
veryspiderupvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator
2018/05/12 23:37:09
| author | michaelzinn |
| permlink | babbage-s-difference-engine-in-brainfuck-on-a-calculator |
| voter | veryspider |
| weight | 10000 (100.00%) |
| Transaction Info | Block #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
}jhnmunozupvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator2018/05/12 22:48:39
jhnmunozupvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator
2018/05/12 22:48:39
| author | michaelzinn |
| permlink | babbage-s-difference-engine-in-brainfuck-on-a-calculator |
| voter | jhnmunoz |
| weight | 10000 (100.00%) |
| Transaction Info | Block #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
}michaelzinnpublished a new post: babbage-s-difference-engine-in-brainfuck-on-a-calculator2018/05/12 21:04:51
michaelzinnpublished a new post: babbage-s-difference-engine-in-brainfuck-on-a-calculator
2018/05/12 21:04:51
| author | michaelzinn |
| 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 permlink | programming |
| permlink | babbage-s-difference-engine-in-brainfuck-on-a-calculator |
| title | Babbage's Difference Engine in Brainfuck on a Calculator |
| Transaction Info | Block #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
}michaelzinnpublished a new post: babbage-s-difference-engine-in-brainfuck-on-a-calculator2018/05/12 20:43:00
michaelzinnpublished a new post: babbage-s-difference-engine-in-brainfuck-on-a-calculator
2018/05/12 20:43:00
| author | michaelzinn |
| 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 permlink | programming |
| permlink | babbage-s-difference-engine-in-brainfuck-on-a-calculator |
| title | Babbage's Difference Engine in Brainfuck on a Calculator |
| Transaction Info | Block #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
}xakarisyedupvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator2018/05/12 20:22:18
xakarisyedupvoted (100.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator
2018/05/12 20:22:18
| author | michaelzinn |
| permlink | babbage-s-difference-engine-in-brainfuck-on-a-calculator |
| voter | xakarisyed |
| weight | 10000 (100.00%) |
| Transaction Info | Block #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
}ax3upvoted (1.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator2018/05/12 20:21:48
ax3upvoted (1.00%) @michaelzinn / babbage-s-difference-engine-in-brainfuck-on-a-calculator
2018/05/12 20:21:48
| author | michaelzinn |
| permlink | babbage-s-difference-engine-in-brainfuck-on-a-calculator |
| voter | ax3 |
| weight | 100 (1.00%) |
| Transaction Info | Block #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
}michaelzinnpublished a new post: babbage-s-difference-engine-in-brainfuck-on-a-calculator2018/05/12 20:21:36
michaelzinnpublished a new post: babbage-s-difference-engine-in-brainfuck-on-a-calculator
2018/05/12 20:21:36
| 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! # 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.  ## 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.  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 permlink | programming |
| permlink | babbage-s-difference-engine-in-brainfuck-on-a-calculator |
| title | Babbage's Difference Engine in Brainfuck on a Calculator |
| Transaction Info | Block #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\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\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
}michaelzinnupvoted (100.00%) @gric / the-timetraveller-ii-is-finished-the-process-and-some-details2018/04/22 10:37:48
michaelzinnupvoted (100.00%) @gric / the-timetraveller-ii-is-finished-the-process-and-some-details
2018/04/22 10:37:48
| author | gric |
| permlink | the-timetraveller-ii-is-finished-the-process-and-some-details |
| voter | michaelzinn |
| weight | 10000 (100.00%) |
| Transaction Info | Block #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-steemit2018/03/25 21:47:33
michaelzinnreceived 0.001 STEEM, 0.017 SBD, 0.014 SP author reward for @michaelzinn / hello-steemit
2018/03/25 21:47:33
| author | michaelzinn |
| permlink | hello-steemit |
| sbd payout | 0.017 SBD |
| steem payout | 0.001 STEEM |
| vesting payout | 22.444158 VESTS |
| Transaction Info | Block #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
2018/03/25 19:39:03
| author | michaelzinn |
| permlink | re-sphericalart-re-michaelzinn-hello-steemit-20180325t170157425z |
| voter | sphericalart |
| weight | 10000 (100.00%) |
| Transaction Info | Block #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
2018/03/25 17:02:03
| 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 | |
| Transaction Info | Block #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-19812018/03/21 21:06:03
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
| author | michaelzinn |
| permlink | programming-like-it-s-1981 |
| sbd payout | 0.271 SBD |
| steem payout | 0.001 STEEM |
| vesting payout | 283.672502 VESTS |
| Transaction Info | Block #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
2018/03/20 22:01:06
| author | forestwampus |
| 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 author | michaelzinn |
| parent permlink | store-text-in-a-deck-of-cards |
| permlink | re-michaelzinn-store-text-in-a-deck-of-cards-20180320t220023339z |
| title | |
| Transaction Info | Block #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
2018/03/20 22:00:24
| 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 | |
| Transaction Info | Block #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
}forestwampusupvoted (100.00%) @michaelzinn / store-text-in-a-deck-of-cards2018/03/20 21:57:09
forestwampusupvoted (100.00%) @michaelzinn / store-text-in-a-deck-of-cards
2018/03/20 21:57:09
| author | michaelzinn |
| permlink | store-text-in-a-deck-of-cards |
| voter | forestwampus |
| weight | 10000 (100.00%) |
| Transaction Info | Block #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
}michaelzinnmuted @iraniran2018/03/20 21:45:33
michaelzinnmuted @iraniran
2018/03/20 21:45:33
| id | follow |
| json | ["follow",{"follower":"michaelzinn","following":"iraniran","what":["ignore"]}] |
| required auths | [] |
| required posting auths | ["michaelzinn"] |
| Transaction Info | Block #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
}michaelzinnpublished a new post: store-text-in-a-deck-of-cards2018/03/20 21:45:06
michaelzinnpublished a new post: store-text-in-a-deck-of-cards
2018/03/20 21:45:06
| author | michaelzinn |
| 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 permlink | software |
| permlink | store-text-in-a-deck-of-cards |
| title | Store Text in a Deck of Cards |
| Transaction Info | Block #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
}iraniranreplied to @michaelzinn / re-michaelzinn-2018321t11352639z2018/03/20 21:43:57
iraniranreplied to @michaelzinn / re-michaelzinn-2018321t11352639z
2018/03/20 21:43:57
| author | iraniran |
| 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 author | michaelzinn |
| parent permlink | store-text-in-a-deck-of-cards |
| permlink | re-michaelzinn-2018321t11352639z |
| title | |
| Transaction Info | Block #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
}Manabar
Voting Power100.00%
Downvote Power100.00%
Resource Credits100.00%
Reputation Progress91.96%
{
"voting_manabar": {
"current_mana": "8143659806",
"last_update_time": 1779075894
},
"downvote_manabar": {
"current_mana": 2035914951,
"last_update_time": 1779075894
},
"rc_account": {
"account": "michaelzinn",
"max_rc": "10164408779",
"max_rc_creation_adjustment": {
"amount": "2020748973",
"nai": "@@000000037",
"precision": 6
},
"rc_manabar": {
"current_mana": "10164408779",
"last_update_time": 1779075894
}
}
}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.
[]