{
  "founder": "wumpus",
  "channel": "#bitcoin-core-dev",
  "network": "freenode",
  "id": "64156c3c89e84d94af9c36ac5bc320b4",
  "name": "#bitcoin-core-dev",
  "chair": "wumpus",
  "chairs": [
    "wumpus"
  ],
  "nicks": {
    "wumpus": 49,
    "lightningbot": 2,
    "jonasschnelli": 18,
    "BlueMatt": 62,
    "gmaxwell": 25,
    "sipa": 31,
    "luke-jr": 12,
    "gribble": 3,
    "MarcoFalke": 5,
    "cfields": 7,
    "instagibbs": 1,
    "achow101": 3,
    "sdaftuar": 3,
    "jtimon": 8
  },
  "start_time": "2017-02-02T19:00:02+00:00",
  "end_time": "2017-02-02T19:40:26+00:00",
  "active": false,
  "original_topic": "Bitcoin Core development discussion and commit log | This is the channel for developing Bitcoin Core. Feel free to watch, but please take commentary and usage questions to #bitcoin | Channel logs: https://botbot.me/freenode/bitcoin-core-dev, http://www.erisian.com.au/bitcoin-core-dev/",
  "current_topic": null,
  "messages": [
    {
      "id": "740576c2e48f4109899881267f7aaf6e",
      "sender": "wumpus",
      "payload": "#startmeeting",
      "action": false,
      "timestamp": "2017-02-02T19:00:02+00:00"
    },
    {
      "id": "fe3a8b4d208645c5a4080717d7a4577c",
      "sender": "lightningbot",
      "payload": "Meeting started Thu Feb  2 19:00:02 2017 UTC.  The chair is wumpus. Information about MeetBot at http://wiki.debian.org/MeetBot.",
      "action": false,
      "timestamp": "2017-02-02T19:00:02+00:00"
    },
    {
      "id": "01366c62262f4aafb33501774a0ea9d4",
      "sender": "lightningbot",
      "payload": "Useful Commands: #action #agreed #help #info #idea #link #topic.",
      "action": false,
      "timestamp": "2017-02-02T19:00:02+00:00"
    },
    {
      "id": "98a19da5b37e4f1ea0257336526a8594",
      "sender": "jonasschnelli",
      "payload": "hi",
      "action": false,
      "timestamp": "2017-02-02T19:00:07+00:00"
    },
    {
      "id": "9284b89cc8d84021ba59e718051cc35b",
      "sender": "BlueMatt",
      "payload": "oh thats today?",
      "action": false,
      "timestamp": "2017-02-02T19:00:08+00:00"
    },
    {
      "id": "a457e22ee4824a4fa0d00bbab3017b1e",
      "sender": "gmaxwell",
      "payload": "#bitcoin-core-dev Meeting: wumpus sipa gmaxwell jonasschnelli morcos luke-jr btcdrak sdaftuar jtimon cfields petertodd kanzure bluematt instagibbs phantomcircuit codeshark michagogo marcofalke paveljanik NicolasDorier",
      "action": false,
      "timestamp": "2017-02-02T19:00:18+00:00"
    },
    {
      "id": "de5ee206d17e4e97b3dbfa17a81cd810",
      "sender": "sipa",
      "payload": "yow.",
      "action": false,
      "timestamp": "2017-02-02T19:00:29+00:00"
    },
    {
      "id": "8480628702494f7f935c433fcbaeeedd",
      "sender": "luke-jr",
      "payload": "BlueMatt: no, it's fake news.",
      "action": false,
      "timestamp": "2017-02-02T19:00:37+00:00"
    },
    {
      "id": "9c661cc88de34900bfd9b5a11aae4919",
      "sender": "wumpus",
      "payload": "BlueMatt: it's thursday I hope?",
      "action": false,
      "timestamp": "2017-02-02T19:00:37+00:00"
    },
    {
      "id": "60c200971c3541078f36e6c6e8993e76",
      "sender": "luke-jr",
      "payload": "/s",
      "action": false,
      "timestamp": "2017-02-02T19:00:38+00:00"
    },
    {
      "id": "7a1307588f304901a0eac3b0116ebe6e",
      "sender": "sipa",
      "payload": "luke-jr: alternative news",
      "action": false,
      "timestamp": "2017-02-02T19:00:49+00:00"
    },
    {
      "id": "647479f8c9ac44588a53943ce3b30346",
      "sender": "BlueMatt",
      "payload": "wumpus: alternative facts",
      "action": false,
      "timestamp": "2017-02-02T19:00:52+00:00"
    },
    {
      "id": "8e0cf660751f47b7937bec187dcd3aff",
      "sender": "BlueMatt",
      "payload": "heh",
      "action": false,
      "timestamp": "2017-02-02T19:00:53+00:00"
    },
    {
      "id": "7b1021318f3447d5aa8cbd4204884705",
      "sender": "sipa",
      "payload": "jinx",
      "action": false,
      "timestamp": "2017-02-02T19:00:59+00:00"
    },
    {
      "id": "9dc91bc3d9c347d1880cdac24a7f151c",
      "sender": "sipa",
      "payload": "i don't have topics",
      "action": false,
      "timestamp": "2017-02-02T19:01:28+00:00"
    },
    {
      "id": "d06b7275df774563958efbbf5a900e01",
      "sender": "wumpus",
      "payload": "foremost topic would be what to still include in 0.14, as rc1 release is planned for monday",
      "action": false,
      "timestamp": "2017-02-02T19:01:32+00:00"
    },
    {
      "id": "539ea856acfb421a9cde859a75a87b6c",
      "sender": "gmaxwell",
      "payload": "I propose not including any bugs.",
      "action": false,
      "timestamp": "2017-02-02T19:02:09+00:00"
    },
    {
      "id": "1c6208aeba4e46cd939f94caa2f77612",
      "sender": "BlueMatt",
      "payload": "I think the current list (+#9671) are going to be required for release, sooooo",
      "action": false,
      "timestamp": "2017-02-02T19:02:13+00:00"
    },
    {
      "id": "3897b0279f974a2088ef3432cc652018",
      "sender": "gribble",
      "payload": "https://github.com/bitcoin/bitcoin/issues/9671 | Fix super-unlikely race introduced in 236618061a445d2cb11e72 by TheBlueMatt \u00c3\u0082\u00c2\u00b7 Pull Request #9671 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
      "action": false,
      "timestamp": "2017-02-02T19:02:15+00:00"
    },
    {
      "id": "650ae2e45520417b8699e62730a66324",
      "sender": "jonasschnelli",
      "payload": "These are the issues tagged for 0.14 : https://github.com/bitcoin/bitcoin/issues?q=is%3Aopen+is%3Aissue+milestone%3A0.14.0",
      "action": false,
      "timestamp": "2017-02-02T19:02:25+00:00"
    },
    {
      "id": "5067093ab519474d8f77d07ad5e939ae",
      "sender": "MarcoFalke",
      "payload": "I think only remaining is the net stuff?",
      "action": false,
      "timestamp": "2017-02-02T19:02:34+00:00"
    },
    {
      "id": "0fda70b989764001a8cad3f2697e7e75",
      "sender": "cfields",
      "payload": "rebasing 9609 now.",
      "action": false,
      "timestamp": "2017-02-02T19:03:02+00:00"
    },
    {
      "id": "cd0d7e8595294eec9f545bfa4ea84dd1",
      "sender": "instagibbs",
      "payload": "hi",
      "action": false,
      "timestamp": "2017-02-02T19:03:14+00:00"
    },
    {
      "id": "d62fc3771b6a491d8d56d83a5656c586",
      "sender": "BlueMatt",
      "payload": "MarcoFalke: we added the signrawtransaction assertion too",
      "action": false,
      "timestamp": "2017-02-02T19:03:25+00:00"
    },
    {
      "id": "a612dcf592964292bab09da83bcbbcfb",
      "sender": "wumpus",
      "payload": "do we have a fix for #9027 in the works yet?",
      "action": false,
      "timestamp": "2017-02-02T19:03:25+00:00"
    },
    {
      "id": "56bc92166476443caa5d4387ef8427b8",
      "sender": "gribble",
      "payload": "https://github.com/bitcoin/bitcoin/issues/9027 | Unbounded reorg memory usage \u00c3\u0082\u00c2\u00b7 Issue #9027 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
      "action": false,
      "timestamp": "2017-02-02T19:03:26+00:00"
    },
    {
      "id": "f6de10a58c4a45098475a6265e0f09ad",
      "sender": "jonasschnelli",
      "payload": "Imo the importmulti fixes can be done after 0.14",
      "action": false,
      "timestamp": "2017-02-02T19:03:27+00:00"
    },
    {
      "id": "0b8d305ee3f54179a576b68513af4ab1",
      "sender": "BlueMatt",
      "payload": "and importmulti",
      "action": false,
      "timestamp": "2017-02-02T19:03:28+00:00"
    },
    {
      "id": "1c9b0689353749a793360a4f960a168f",
      "sender": "cfields",
      "payload": "probably a good time to call for release notes additions",
      "action": false,
      "timestamp": "2017-02-02T19:03:29+00:00"
    },
    {
      "id": "9b56904dd50e4f599857bea79d8ce837",
      "sender": "BlueMatt",
      "payload": "wumpus: I vote we push that one",
      "action": false,
      "timestamp": "2017-02-02T19:03:33+00:00"
    },
    {
      "id": "99748cf95d3d41f284f0a6fda037f0b4",
      "sender": "BlueMatt",
      "payload": "(to 0.15)",
      "action": false,
      "timestamp": "2017-02-02T19:03:36+00:00"
    },
    {
      "id": "a5e348b56edf4c99a595ec4932dc7238",
      "sender": "wumpus",
      "payload": "BlueMatt: ok, no problem with that",
      "action": false,
      "timestamp": "2017-02-02T19:03:48+00:00"
    },
    {
      "id": "a2e8e2d34f59406bb6b6c5236d41cfbc",
      "sender": "BlueMatt",
      "payload": "because not-regression, it turns out",
      "action": false,
      "timestamp": "2017-02-02T19:03:55+00:00"
    },
    {
      "id": "7b2d800843614dc3b7a31532266fbb9c",
      "sender": "sipa",
      "payload": "not regression?",
      "action": false,
      "timestamp": "2017-02-02T19:04:03+00:00"
    },
    {
      "id": "81919210890d4c83a403a795f1533755",
      "sender": "BlueMatt",
      "payload": "slightly worse than it tused to be, but not so massively so that I think we definitely need to fix it asap",
      "action": false,
      "timestamp": "2017-02-02T19:04:07+00:00"
    },
    {
      "id": "5e46556efa7c4bae9f76c10f30193c38",
      "sender": "gmaxwell",
      "payload": "changing the API in the very next release would be unfortunate.",
      "action": false,
      "timestamp": "2017-02-02T19:04:09+00:00"
    },
    {
      "id": "9d9e66b40f824a34a52b03eb4f7850b5",
      "sender": "achow101",
      "payload": "are the three rpc things necessary for this release?",
      "action": false,
      "timestamp": "2017-02-02T19:04:24+00:00"
    },
    {
      "id": "f7a52b54dcf74b029975db712a3786a0",
      "sender": "BlueMatt",
      "payload": "gmaxwell: context?",
      "action": false,
      "timestamp": "2017-02-02T19:04:24+00:00"
    },
    {
      "id": "f3615efa81b34c02af6f8cdaaa698032",
      "sender": "BlueMatt",
      "payload": "sipa: you're the one who decided it wasnt!",
      "action": false,
      "timestamp": "2017-02-02T19:04:29+00:00"
    },
    {
      "id": "523eaf1cbc6e46c09fa40f15fbf11df1",
      "sender": "jonasschnelli",
      "payload": "gmaxwell: importmulti?",
      "action": false,
      "timestamp": "2017-02-02T19:04:30+00:00"
    },
    {
      "id": "b1816bd0bee7479e91ac0ba7bd5d133b",
      "sender": "sipa",
      "payload": "gmaxwell: fixing 9027 does not need an api change afaik",
      "action": false,
      "timestamp": "2017-02-02T19:04:32+00:00"
    },
    {
      "id": "8bb6276a07954cbfb0866453e56af4d5",
      "sender": "sipa",
      "payload": "BlueMatt: oh!",
      "action": false,
      "timestamp": "2017-02-02T19:04:42+00:00"
    },
    {
      "id": "54a74358b8fb4580bad8a07f48742fcc",
      "sender": "wumpus",
      "payload": "we could disable importmulti if it isn't safe in time for the release",
      "action": false,
      "timestamp": "2017-02-02T19:05:04+00:00"
    },
    {
      "id": "756997124ceb4c8c86ea93104bfed62c",
      "sender": "sipa",
      "payload": "or leave it undocumented?",
      "action": false,
      "timestamp": "2017-02-02T19:05:31+00:00"
    },
    {
      "id": "d069a9f7b3c048a5b307df709e78a57e",
      "sender": "wumpus",
      "payload": "depends on whether the issue of #9491 is serious enough",
      "action": false,
      "timestamp": "2017-02-02T19:05:44+00:00"
    },
    {
      "id": "781251df15444b2d81de5a4f53201894",
      "sender": "gribble",
      "payload": "https://github.com/bitcoin/bitcoin/issues/9491 | Importmulti api is confusing in a way that could lead to funds loss. \u00c3\u0082\u00c2\u00b7 Issue #9491 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
      "action": false,
      "timestamp": "2017-02-02T19:05:45+00:00"
    },
    {
      "id": "e0fca16313594e64814571899d91efa7",
      "sender": "gmaxwell",
      "payload": "fixing the fact that it's very easy to fail to rescan anything, when you thought it was... does.",
      "action": false,
      "timestamp": "2017-02-02T19:05:58+00:00"
    },
    {
      "id": "82afb1e18f7f414d8f6fb379e7dda0b9",
      "sender": "wumpus",
      "payload": "yes undocumented or could add a \"warning: experimental, API will likely change next release\" in any case too",
      "action": false,
      "timestamp": "2017-02-02T19:06:22+00:00"
    },
    {
      "id": "4408c7e64d794363afe7cc9fd6874c7e",
      "sender": "jonasschnelli",
      "payload": "Or we just fix 9491... seems not very complex?",
      "action": false,
      "timestamp": "2017-02-02T19:06:41+00:00"
    },
    {
      "id": "79bc442da00f4e4dbeec87f00d36ebf0",
      "sender": "jonasschnelli",
      "payload": "Can fix in rc2 if it's to late for monday?",
      "action": false,
      "timestamp": "2017-02-02T19:06:51+00:00"
    },
    {
      "id": "99aa81e651db483f8e67c3727a3d94be",
      "sender": "wumpus",
      "payload": "sure",
      "action": false,
      "timestamp": "2017-02-02T19:07:26+00:00"
    },
    {
      "id": "265ddd22ace54bdfb9cb125b56e5de31",
      "sender": "wumpus",
      "payload": "but there's no guarantee there is a rc2",
      "action": false,
      "timestamp": "2017-02-02T19:07:36+00:00"
    },
    {
      "id": "6df7ebd77de541d59068061202d8d62d",
      "sender": "gmaxwell",
      "payload": "okay, lets see where that goes in the next couple days.",
      "action": false,
      "timestamp": "2017-02-02T19:07:40+00:00"
    },
    {
      "id": "80cfcce024df42b285d2c42e4cb76bc4",
      "sender": "wumpus",
      "payload": "I don't know how hard it is? it seems to have caused quite a discussion but no fix",
      "action": false,
      "timestamp": "2017-02-02T19:07:47+00:00"
    },
    {
      "id": "d0b37169dcbe415eb65f74c80a2b7312",
      "sender": "luke-jr",
      "payload": "importmulti seems akin to importprivkey which shouldn't be used by users anyway?",
      "action": false,
      "timestamp": "2017-02-02T19:07:50+00:00"
    },
    {
      "id": "b538de84578645b0b4897d351500ff66",
      "sender": "gmaxwell",
      "payload": "We can hide it right before cutting RC1 if nothing else.",
      "action": false,
      "timestamp": "2017-02-02T19:07:57+00:00"
    },
    {
      "id": "e809526818fe48179f971bb91d168f3e",
      "sender": "wumpus",
      "payload": "yes",
      "action": false,
      "timestamp": "2017-02-02T19:08:10+00:00"
    },
    {
      "id": "5502bf771c6440d7a51824eb830ba147",
      "sender": "gmaxwell",
      "payload": "ashame, as it's a nice improvement.",
      "action": false,
      "timestamp": "2017-02-02T19:08:19+00:00"
    },
    {
      "id": "a6097bea7a0d40d3ae051ad54237dd98",
      "sender": "sipa",
      "payload": "i think the fix would be easy?",
      "action": false,
      "timestamp": "2017-02-02T19:08:27+00:00"
    },
    {
      "id": "89b5fb2a99334950bf1fefaf99926dcf",
      "sender": "gmaxwell",
      "payload": "sure, that is why I said lets see.",
      "action": false,
      "timestamp": "2017-02-02T19:08:43+00:00"
    },
    {
      "id": "d994fa4983254f628d7851c018858ea7",
      "sender": "BlueMatt",
      "payload": "who is working on it?",
      "action": false,
      "timestamp": "2017-02-02T19:08:52+00:00"
    },
    {
      "id": "e430238b1fc641a6a5661411228f627f",
      "sender": "achow101",
      "payload": "can't you just change the default timestamp to be 0?",
      "action": false,
      "timestamp": "2017-02-02T19:08:53+00:00"
    },
    {
      "id": "97819674f00d4029aec4e579c8390a5c",
      "sender": "gmaxwell",
      "payload": "but we have a fallback if it doesn't get fixed.",
      "action": false,
      "timestamp": "2017-02-02T19:08:55+00:00"
    },
    {
      "id": "f02296b524974da8b04da863a71c5621",
      "sender": "BlueMatt",
      "payload": "\"lets see\" only works if someone does it :p",
      "action": false,
      "timestamp": "2017-02-02T19:08:58+00:00"
    },
    {
      "id": "2242107871c843c880dc65eebf8e3e7f",
      "sender": "gmaxwell",
      "payload": "achow101: then there is no easy way to express now.",
      "action": false,
      "timestamp": "2017-02-02T19:09:08+00:00"
    },
    {
      "id": "cf8d90b442c144808b0708038ffb117e",
      "sender": "jonasschnelli",
      "payload": "Would a fix where we set the importmulti timestamp to 0 instead of \"now\" do it for 0.14?",
      "action": false,
      "timestamp": "2017-02-02T19:09:29+00:00"
    },
    {
      "id": "8f92cf2559ae46c787dfbfc0323a468c",
      "sender": "luke-jr",
      "payload": "gmaxwell: using time() from your OS?",
      "action": false,
      "timestamp": "2017-02-02T19:09:37+00:00"
    },
    {
      "id": "378f62aeecab41c58ba7c2e9b160b49b",
      "sender": "jonasschnelli",
      "payload": "*default timestamp",
      "action": false,
      "timestamp": "2017-02-02T19:09:40+00:00"
    },
    {
      "id": "bcfe05ab466e4530ad5714a047336bf4",
      "sender": "achow101",
      "payload": "-1 for \"now\"",
      "action": false,
      "timestamp": "2017-02-02T19:10:04+00:00"
    },
    {
      "id": "6e557637fce34ad5a17f2ba5457c75b4",
      "sender": "wumpus",
      "payload": "or have no default at all and require a time to be specified",
      "action": false,
      "timestamp": "2017-02-02T19:10:05+00:00"
    },
    {
      "id": "5b3344364c8e423e80c5b37a4dd90bd8",
      "sender": "jonasschnelli",
      "payload": "wumpus: +1",
      "action": false,
      "timestamp": "2017-02-02T19:10:14+00:00"
    },
    {
      "id": "8896e7eb3b6c4bf0825b2a913059863d",
      "sender": "luke-jr",
      "payload": "wumpus: no default at all is nice since it allows a default to be chosen later",
      "action": false,
      "timestamp": "2017-02-02T19:10:19+00:00"
    },
    {
      "id": "ea08a0676dc244539c72bb02396e1e27",
      "sender": "jonasschnelli",
      "payload": "0 as timestamp is very inefficient.",
      "action": false,
      "timestamp": "2017-02-02T19:10:31+00:00"
    },
    {
      "id": "ddbb38cc0fd546b589c5588bc100e80c",
      "sender": "gmaxwell",
      "payload": "Lets not hash it out here, there is an issue.",
      "action": false,
      "timestamp": "2017-02-02T19:10:34+00:00"
    },
    {
      "id": "ea24f50f021c4d1399042247f4d23fb1",
      "sender": "jonasschnelli",
      "payload": "Okay. Lets comment there. Agree with gmaxwell",
      "action": false,
      "timestamp": "2017-02-02T19:10:45+00:00"
    },
    {
      "id": "36fbcbf86054477599e15e56c426be28",
      "sender": "gmaxwell",
      "payload": "I agree with jonasschnelli in the sense there that we really have to stop assuming a full rescan is possible.",
      "action": false,
      "timestamp": "2017-02-02T19:10:57+00:00"
    },
    {
      "id": "ec83b88b3daa4be481b400151abeca40",
      "sender": "wumpus",
      "payload": "good point, yes",
      "action": false,
      "timestamp": "2017-02-02T19:11:28+00:00"
    },
    {
      "id": "cbe8cb45f0034d0fb5c59b8fc92e2835",
      "sender": "jonasschnelli",
      "payload": "Is also very inefficient if you have pruned or run hybrid SPV",
      "action": false,
      "timestamp": "2017-02-02T19:11:34+00:00"
    },
    {
      "id": "104a5c4212754584ab4ed14922d396c7",
      "sender": "wumpus",
      "payload": "it certainly shouldn't be the default",
      "action": false,
      "timestamp": "2017-02-02T19:11:37+00:00"
    },
    {
      "id": "2c8fc9bd77f647b3a717e0e94f1101a2",
      "sender": "gmaxwell",
      "payload": "It takes many hours on my normal development system, and is still quite slow even on the fastest hardware available.   But avoiding the rescan takes second seat to surprising the user. :)",
      "action": false,
      "timestamp": "2017-02-02T19:11:37+00:00"
    },
    {
      "id": "86ec8a5caa44451581558e1d2a1eda85",
      "sender": "wumpus",
      "payload": "it's inefficient and lazy",
      "action": false,
      "timestamp": "2017-02-02T19:11:40+00:00"
    },
    {
      "id": "98912ea1fb7c4578aa6f75570ce4b476",
      "sender": "gmaxwell",
      "payload": "in my view, except for certan recover operations that are infrequently done-- rescan effectively doesn't work anymore (takes more time than converting your entire usage to a third party api...)",
      "action": false,
      "timestamp": "2017-02-02T19:12:37+00:00"
    },
    {
      "id": "b8917ff44c5543f8a0b8d425ece88a46",
      "sender": "wumpus",
      "payload": "users of the API should be encouraged to keep track of key birthdates",
      "action": false,
      "timestamp": "2017-02-02T19:13:22+00:00"
    },
    {
      "id": "f3b2e28a8de043e692864a54c74614ae",
      "sender": "gmaxwell",
      "payload": "if we define a new private key format in the not so far future, we should make sure its string clearly integrates a birthdate. :P",
      "action": false,
      "timestamp": "2017-02-02T19:14:05+00:00"
    },
    {
      "id": "cb582329c7ac4f65a53023043913d4c7",
      "sender": "BlueMatt",
      "payload": "ok, so discuss on the issue....next topic?",
      "action": false,
      "timestamp": "2017-02-02T19:14:25+00:00"
    },
    {
      "id": "5cb032fc851e46ccb0a50058e8fcbef2",
      "sender": "wumpus",
      "payload": "a full rescan is indeed only something that should be done for infrequent recovery reasons",
      "action": false,
      "timestamp": "2017-02-02T19:14:26+00:00"
    },
    {
      "id": "63cc7071c7494412adfcba395885b7df",
      "sender": "wumpus",
      "payload": "no other topics?",
      "action": false,
      "timestamp": "2017-02-02T19:15:58+00:00"
    },
    {
      "id": "eb2ab0047eca4d01aec5683affc2802a",
      "sender": "MarcoFalke",
      "payload": "shortest meeting ever",
      "action": false,
      "timestamp": "2017-02-02T19:16:22+00:00"
    },
    {
      "id": "3a88fd2b0acb4bd1b11b325fab1cd784",
      "sender": "wumpus",
      "payload": "I had expected heated debates on what to include last-minute in 0.14 and why to delay the rc, what a disappointment! </s>",
      "action": false,
      "timestamp": "2017-02-02T19:16:58+00:00"
    },
    {
      "id": "dec18cd1e3334454b7ff086b4416dac5",
      "sender": "BlueMatt",
      "payload": "great, lets get 0.14 done so I can get back to writing code :)",
      "action": false,
      "timestamp": "2017-02-02T19:17:02+00:00"
    },
    {
      "id": "47bb47d077a646b08719652d1ac4d3f3",
      "sender": "jonasschnelli",
      "payload": "Heh.",
      "action": false,
      "timestamp": "2017-02-02T19:17:10+00:00"
    },
    {
      "id": "d82b75f37510442f9d00b98d7183a054",
      "sender": "sdaftuar",
      "payload": "let's talk about code style again",
      "action": false,
      "timestamp": "2017-02-02T19:17:13+00:00"
    },
    {
      "id": "9172cc2ec89643e8bbee078362bf65fb",
      "sender": "BlueMatt",
      "payload": "wumpus: I vote we push it back a month so we can do all the things we wanted to a month ago :p",
      "action": false,
      "timestamp": "2017-02-02T19:17:15+00:00"
    },
    {
      "id": "65d9111d2d9f4d6e851429f9524268aa",
      "sender": "wumpus",
      "payload": "BlueMatt: lol!",
      "action": false,
      "timestamp": "2017-02-02T19:17:25+00:00"
    },
    {
      "id": "c45a8188e27645c3b9257598d4c28c5b",
      "sender": "BlueMatt",
      "payload": "wait, i had something to talk about re: cde style",
      "action": false,
      "timestamp": "2017-02-02T19:17:42+00:00"
    },
    {
      "id": "4c40fd7a4d7b4c5e8bf70d924075cfac",
      "sender": "BlueMatt",
      "payload": "hum",
      "action": false,
      "timestamp": "2017-02-02T19:17:43+00:00"
    },
    {
      "id": "99c7d2271dc74fa3a2b08240d0045f1e",
      "sender": "gmaxwell",
      "payload": "BlueMatt: die",
      "action": false,
      "timestamp": "2017-02-02T19:17:54+00:00"
    },
    {
      "id": "7d01425d42144f068730b4872897c3f2",
      "sender": "sdaftuar",
      "payload": "i'll get the baseball bat",
      "action": false,
      "timestamp": "2017-02-02T19:17:55+00:00"
    },
    {
      "id": "6aaa3c2d00684feda995eb16def8793e",
      "sender": "BlueMatt",
      "payload": "oh, auto",
      "action": false,
      "timestamp": "2017-02-02T19:17:56+00:00"
    },
    {
      "id": "ab80fce23dfa4e0e8f73a0661e471f73",
      "sender": "jonasschnelli",
      "payload": "Bumpfee: is there a reason why the logic is in the rpcwallet.cpp and not in wallet.cpp?",
      "action": false,
      "timestamp": "2017-02-02T19:18:02+00:00"
    },
    {
      "id": "9548b429d69b43f68d9184850d79da5f",
      "sender": "jonasschnelli",
      "payload": "Makes it really hard to use in the gui...",
      "action": false,
      "timestamp": "2017-02-02T19:18:13+00:00"
    },
    {
      "id": "982a8fb3ed114556883e85ea0f6ae428",
      "sender": "BlueMatt",
      "payload": "jonasschnelli: please move it, agreed",
      "action": false,
      "timestamp": "2017-02-02T19:18:24+00:00"
    },
    {
      "id": "f2f5818ffbb44c8f86e30ec6e405521d",
      "sender": "luke-jr",
      "payload": "jonasschnelli: it can be moved",
      "action": false,
      "timestamp": "2017-02-02T19:18:25+00:00"
    },
    {
      "id": "0b9aa58b99ca47ba92d82f2f8aadc7e7",
      "sender": "sdaftuar",
      "payload": "jonasschnelli: i think we can refactor as needed",
      "action": false,
      "timestamp": "2017-02-02T19:18:25+00:00"
    },
    {
      "id": "63f1aa7ff8584864bd37a70f999d9d77",
      "sender": "luke-jr",
      "payload": "in 0.15*",
      "action": false,
      "timestamp": "2017-02-02T19:18:29+00:00"
    },
    {
      "id": "41a2fcbeaca84c0ea5887c646397a04b",
      "sender": "wumpus",
      "payload": "jonasschnelli: because it's only used in rpcwallet.cpp, if you need it in a more general place move it",
      "action": false,
      "timestamp": "2017-02-02T19:18:33+00:00"
    },
    {
      "id": "becb6e3e4d9f4c7f86810be2bca98e09",
      "sender": "jonasschnelli",
      "payload": "Okay.",
      "action": false,
      "timestamp": "2017-02-02T19:18:40+00:00"
    },
    {
      "id": "1a0d58481a2940cca67acf5328667c6c",
      "sender": "sipa",
      "payload": "BlueMatt: i am strongly in favor of auto.",
      "action": false,
      "timestamp": "2017-02-02T19:18:54+00:00"
    },
    {
      "id": "0d5db6cd9e614a5992f1e13911f36237",
      "sender": "sipa",
      "payload": "hides",
      "action": true,
      "timestamp": "2017-02-02T19:18:59+00:00"
    },
    {
      "id": "fc0deb6a4a5d4d47a448950fb12f2f1a",
      "sender": "wumpus",
      "payload": "jonasschnelli: although moving everything to wallet.cpp isn't very nice either, we should refactor the wallet code some day",
      "action": false,
      "timestamp": "2017-02-02T19:19:00+00:00"
    },
    {
      "id": "fa836701faf34eef8c71f35a42b952fa",
      "sender": "luke-jr",
      "payload": "I did suggest it earlier, but didn't seem like a blocker for merging",
      "action": false,
      "timestamp": "2017-02-02T19:19:03+00:00"
    },
    {
      "id": "4586d2078dbf4b82bbaf121ede95d73a",
      "sender": "wumpus",
      "payload": "I'm also in favor of auto",
      "action": false,
      "timestamp": "2017-02-02T19:19:06+00:00"
    },
    {
      "id": "a73d1b1f55f34a90b825128e120b3685",
      "sender": "BlueMatt",
      "payload": "sipa: it makes certain review much, much harder (I often grep for \"everywhere X is used\")",
      "action": false,
      "timestamp": "2017-02-02T19:19:15+00:00"
    },
    {
      "id": "b93f195136a8495f8fe34816a329324d",
      "sender": "luke-jr",
      "payload": "wumpus: well, it's wallet code..",
      "action": false,
      "timestamp": "2017-02-02T19:19:15+00:00"
    },
    {
      "id": "eba372a0a800478a843f6ac6296c9bf5",
      "sender": "BlueMatt",
      "payload": "and have already missed things as a result",
      "action": false,
      "timestamp": "2017-02-02T19:19:23+00:00"
    },
    {
      "id": "e8e1244b1a564b22a1e9ec50d992c94c",
      "sender": "wumpus",
      "payload": "luke-jr: so? not all wallet code needs to be in one file",
      "action": false,
      "timestamp": "2017-02-02T19:19:24+00:00"
    },
    {
      "id": "037701f098f14d53950506bda62bf707",
      "sender": "wumpus",
      "payload": "forbidding auto is just masochism",
      "action": false,
      "timestamp": "2017-02-02T19:19:35+00:00"
    },
    {
      "id": "f57d2cec622e4fdb985767fb4ebcb174",
      "sender": "jonasschnelli",
      "payload": "wumpus: yes. Thats a good point.",
      "action": false,
      "timestamp": "2017-02-02T19:19:41+00:00"
    },
    {
      "id": "23b3d3759e6f44d69e02037592fd0da2",
      "sender": "BlueMatt",
      "payload": "wumpus: i wasnt voding forbidding it",
      "action": false,
      "timestamp": "2017-02-02T19:19:42+00:00"
    },
    {
      "id": "47127ff7176a4b8eb95e43d7476d4c1c",
      "sender": "sipa",
      "payload": "BlueMatt: introduce an incompatible change to the type, and recompile. tadaa, all places it is used",
      "action": false,
      "timestamp": "2017-02-02T19:19:46+00:00"
    },
    {
      "id": "c9db8b6d229b4ac38a5e19399af686cb",
      "sender": "BlueMatt",
      "payload": "only carefully considering its use",
      "action": false,
      "timestamp": "2017-02-02T19:19:49+00:00"
    },
    {
      "id": "79e425cd342147bda7f2737ef61d87e5",
      "sender": "cfields",
      "payload": "sipa: same. BlueMatt: maybe paste the thread in question?",
      "action": false,
      "timestamp": "2017-02-02T19:19:50+00:00"
    },
    {
      "id": "8b00d9452e61460f92d32039ca77ff60",
      "sender": "luke-jr",
      "payload": "I like auto when the type is implied by some other type; eg, instead of xyz::value_type",
      "action": false,
      "timestamp": "2017-02-02T19:19:56+00:00"
    },
    {
      "id": "3abc6ce6e59f4c138f93a117ef7117c0",
      "sender": "jtimon",
      "payload": "yeah, but not forbidding it doesn't mean recommending it always either",
      "action": false,
      "timestamp": "2017-02-02T19:20:05+00:00"
    },
    {
      "id": "90f76cb1aa2a4f0db44ecc05548b23ad",
      "sender": "BlueMatt",
      "payload": "https://github.com/bitcoin/bitcoin/pull/9609#discussion_r98335218",
      "action": false,
      "timestamp": "2017-02-02T19:20:10+00:00"
    },
    {
      "id": "16cd98d68b5a40278e7c7c6b6c6b29b3",
      "sender": "wumpus",
      "payload": "we have a whole src/wallet directory which could have tons of different implementation files for different facets of the wallet, instead of stashing it all into one file",
      "action": false,
      "timestamp": "2017-02-02T19:20:15+00:00"
    },
    {
      "id": "c682113cb88f4d0187fbe07940264f32",
      "sender": "BlueMatt",
      "payload": "(I believe gmaxwell's comment there was intedned for a different line)",
      "action": false,
      "timestamp": "2017-02-02T19:20:39+00:00"
    },
    {
      "id": "9bd39c8b395546508ca3ec2038e69e05",
      "sender": "jonasschnelli",
      "payload": "yes. Stuff like coin selection should be more modular",
      "action": false,
      "timestamp": "2017-02-02T19:20:44+00:00"
    },
    {
      "id": "819c40ed4d2d4ee798a5f2ce9523882d",
      "sender": "wumpus",
      "payload": "sure, as with any use of any c++ statement, use of auto should be measured",
      "action": false,
      "timestamp": "2017-02-02T19:21:04+00:00"
    },
    {
      "id": "712ef30d7ae94801bb853740536cb379",
      "sender": "MarcoFalke",
      "payload": "Lets do it after priority removal",
      "action": false,
      "timestamp": "2017-02-02T19:21:08+00:00"
    },
    {
      "id": "b4c6181472564fd3ae6c16b86e3e7ccb",
      "sender": "MarcoFalke",
      "payload": "Otherwise we step on each others toes",
      "action": false,
      "timestamp": "2017-02-02T19:21:18+00:00"
    },
    {
      "id": "571ab12320e742ffa260846fa22ab7b7",
      "sender": "wumpus",
      "payload": "if you have some specific cases where it's bad to use auto, please document them",
      "action": false,
      "timestamp": "2017-02-02T19:21:24+00:00"
    },
    {
      "id": "b4ac9ea05f9d42fc9cf97c3beb9083ed",
      "sender": "BlueMatt",
      "payload": "wumpus: mostly only things that are /actually/ a mile of text to type, imo",
      "action": false,
      "timestamp": "2017-02-02T19:21:27+00:00"
    },
    {
      "id": "142ec6354a6f455780735e3e60808407",
      "sender": "sipa",
      "payload": "BlueMatt: and not needing to change things all over the place when you turn a tuple into a struct",
      "action": false,
      "timestamp": "2017-02-02T19:21:57+00:00"
    },
    {
      "id": "80b4dd6810b74501aad4ec24da6d6e36",
      "sender": "sipa",
      "payload": "or add a wrapper",
      "action": false,
      "timestamp": "2017-02-02T19:22:07+00:00"
    },
    {
      "id": "fdf983f27c9f4c6ca9aa1b6244e7b9fa",
      "sender": "BlueMatt",
      "payload": "sipa: I have no problem reviewing sed-based changes",
      "action": false,
      "timestamp": "2017-02-02T19:22:08+00:00"
    },
    {
      "id": "596332e136264343a0bcc84c2cf5697a",
      "sender": "BlueMatt",
      "payload": "in fact prefer that",
      "action": false,
      "timestamp": "2017-02-02T19:22:16+00:00"
    },
    {
      "id": "90535995d5064f4babcca2561e83c95e",
      "sender": "wumpus",
      "payload": "BlueMatt: there's plenty of those - c++ is overly verbose, auto is a great advancement",
      "action": false,
      "timestamp": "2017-02-02T19:22:18+00:00"
    },
    {
      "id": "db518be535904c8a89a722e19b23fcb3",
      "sender": "sipa",
      "payload": "they're still annoying to fo",
      "action": false,
      "timestamp": "2017-02-02T19:22:21+00:00"
    },
    {
      "id": "bfbddd769f4b4357a4e1cfebaae10c2a",
      "sender": "BlueMatt",
      "payload": "since I'm gonna go read every single place the change effected anyway",
      "action": false,
      "timestamp": "2017-02-02T19:22:27+00:00"
    },
    {
      "id": "c8087f88c9f34511a02c4e974a0f81d2",
      "sender": "BlueMatt",
      "payload": "to review",
      "action": false,
      "timestamp": "2017-02-02T19:22:28+00:00"
    },
    {
      "id": "4411a0af61db43cfb9e333724a5083f8",
      "sender": "sipa",
      "payload": "*to do",
      "action": false,
      "timestamp": "2017-02-02T19:22:30+00:00"
    },
    {
      "id": "9155dc09817448ca873e23702d1d0b63",
      "sender": "sipa",
      "payload": "and of course, let's consider on a case by case basis",
      "action": false,
      "timestamp": "2017-02-02T19:22:50+00:00"
    },
    {
      "id": "b05c8700da3246188e6de0d67ace3afb",
      "sender": "wumpus",
      "payload": "right",
      "action": false,
      "timestamp": "2017-02-02T19:22:55+00:00"
    },
    {
      "id": "af23c422804949ddb144dd44180dfd12",
      "sender": "BlueMatt",
      "payload": "wumpus: sure, iterators in iterators, np",
      "action": false,
      "timestamp": "2017-02-02T19:22:56+00:00"
    },
    {
      "id": "55f597476cae41afbe0e6770a7e18cb2",
      "sender": "BlueMatt",
      "payload": "yea, ok, whatever, I'll shut up",
      "action": false,
      "timestamp": "2017-02-02T19:23:03+00:00"
    },
    {
      "id": "81595dba232644eaa284a700acf1630a",
      "sender": "sipa",
      "payload": "but in my own preference, that is overwhelmingly the case",
      "action": false,
      "timestamp": "2017-02-02T19:23:04+00:00"
    },
    {
      "id": "3c56d75a4d164af98d182522b7369bc6",
      "sender": "cfields",
      "payload": "well the specific case here is for loops. \"for (auto& foo : bar)\"",
      "action": false,
      "timestamp": "2017-02-02T19:24:00+00:00"
    },
    {
      "id": "6b3ca6993dc14e11adf8eff0347284e3",
      "sender": "MarcoFalke",
      "payload": "Agree with BlueMatt, that auto should not be used unless necessary.",
      "action": false,
      "timestamp": "2017-02-02T19:24:01+00:00"
    },
    {
      "id": "c28b10c0da664701b340960bc2bab463",
      "sender": "cfields",
      "payload": "any reason not to use auto there?",
      "action": false,
      "timestamp": "2017-02-02T19:24:04+00:00"
    },
    {
      "id": "c90557a09fb4436689d300956a60fc7e",
      "sender": "jtimon",
      "payload": "BlueMatt: the question is, do you have a general advice on when not to use auto?",
      "action": false,
      "timestamp": "2017-02-02T19:24:04+00:00"
    },
    {
      "id": "9481eefdb01b497a8b59eeba0b742871",
      "sender": "wumpus",
      "payload": "it's never *necessary* auto is just nice",
      "action": false,
      "timestamp": "2017-02-02T19:24:22+00:00"
    },
    {
      "id": "a29b42ec6c794e3eb7d700ec4eb1a736",
      "sender": "BlueMatt",
      "payload": "cfields: yes, so I can grep and review if the type's behavior changes in some way",
      "action": false,
      "timestamp": "2017-02-02T19:24:24+00:00"
    },
    {
      "id": "0ac340b4ce1840109e8c6470b41dd1a8",
      "sender": "BlueMatt",
      "payload": "jtimon: personally, if the type really, really doesnt matter",
      "action": false,
      "timestamp": "2017-02-02T19:24:36+00:00"
    },
    {
      "id": "dc6d2c0819e7429e944e33cc277da8b2",
      "sender": "luke-jr",
      "payload": "cfields: if it's liable to produce bad results with bar changing under it",
      "action": false,
      "timestamp": "2017-02-02T19:24:40+00:00"
    },
    {
      "id": "081d8f2876f94a669168ceb8f3aaaabc",
      "sender": "BlueMatt",
      "payload": "(which means very rarely use it)",
      "action": false,
      "timestamp": "2017-02-02T19:24:50+00:00"
    },
    {
      "id": "41c56316a67b41c58f05180005b7978b",
      "sender": "jtimon",
      "payload": "BlueMatt: I'm afraid \"doesn't matter\" it's too vague here",
      "action": false,
      "timestamp": "2017-02-02T19:24:56+00:00"
    },
    {
      "id": "1ee5cd0601064b649288712888b25a47",
      "sender": "wumpus",
      "payload": "I don't think this is going anywhere, too much isagreement",
      "action": false,
      "timestamp": "2017-02-02T19:25:04+00:00"
    },
    {
      "id": "06af6f464cf94b39889392da299036ba",
      "sender": "BlueMatt",
      "payload": "eg if you're taking an iterator and passing it through to another function",
      "action": false,
      "timestamp": "2017-02-02T19:25:04+00:00"
    },
    {
      "id": "465997aef40940078e288353a5c175db",
      "sender": "wumpus",
      "payload": "any other topics?",
      "action": false,
      "timestamp": "2017-02-02T19:25:08+00:00"
    },
    {
      "id": "a6751c0ac7b24cd785f74c778f760cbf",
      "sender": "wumpus",
      "payload": "BlueMatt: function arguments can't use auto, right?",
      "action": false,
      "timestamp": "2017-02-02T19:25:22+00:00"
    },
    {
      "id": "5cf2c8b78d07437e9023439dc09b05d9",
      "sender": "sipa",
      "payload": "indeed",
      "action": false,
      "timestamp": "2017-02-02T19:25:29+00:00"
    },
    {
      "id": "47a23c10e08b480f9589715f80897f60",
      "sender": "sipa",
      "payload": "c++14 and later introduce some auto types in lambdas",
      "action": false,
      "timestamp": "2017-02-02T19:25:50+00:00"
    },
    {
      "id": "cedc98afcfce49068be9abf3b8c3601e",
      "sender": "BlueMatt",
      "payload": "wumpus: correct, but eg doing auto it = map.find(thing); if (it != ma.end()) DoThingWith(*it);",
      "action": false,
      "timestamp": "2017-02-02T19:25:53+00:00"
    },
    {
      "id": "c3c41be0ac45492d9feba0ff5f629ee1",
      "sender": "BlueMatt",
      "payload": "is like not a problem",
      "action": false,
      "timestamp": "2017-02-02T19:25:56+00:00"
    },
    {
      "id": "e1bf24c153524aef8bdc747284c2cb3e",
      "sender": "BlueMatt",
      "payload": "auto it = map.find(thing); if (it != ma.end()) ILikePonies(it->second.rainbows); I do not like",
      "action": false,
      "timestamp": "2017-02-02T19:26:23+00:00"
    },
    {
      "id": "d59e8ae76fa44c68898f4a8086ab8776",
      "sender": "sipa",
      "payload": "BlueMatt: how is that different from a for (const auto& x : container) {}",
      "action": false,
      "timestamp": "2017-02-02T19:26:24+00:00"
    },
    {
      "id": "49f9b4a377fa49b69d495718974b8adb",
      "sender": "BlueMatt",
      "payload": "sipa: because in the specific case here the thing in the loop is not defined to take a specific type",
      "action": false,
      "timestamp": "2017-02-02T19:27:08+00:00"
    },
    {
      "id": "7a0203fc171c44a589763ed8d711eaf3",
      "sender": "BlueMatt",
      "payload": "it is templated",
      "action": false,
      "timestamp": "2017-02-02T19:27:12+00:00"
    },
    {
      "id": "8fa2ed157f7a4266b5ad90ad1404d57b",
      "sender": "jtimon",
      "payload": "my question was, do you have a deductive method for finding the not ok cases instead of an inductive one for the \"not a problem cases\"?",
      "action": false,
      "timestamp": "2017-02-02T19:27:15+00:00"
    },
    {
      "id": "79ae13c712384a179b10d3751b44df19",
      "sender": "sipa",
      "payload": "you can see that as an oblivious loop with iterators, and passing *it to a function that is tje body of the loop",
      "action": false,
      "timestamp": "2017-02-02T19:27:21+00:00"
    },
    {
      "id": "51475e43f841497984b8f84d0c58ca2e",
      "sender": "BlueMatt",
      "payload": "jtimon: <BlueMatt> jtimon: personally, if the type really, really doesnt matter",
      "action": false,
      "timestamp": "2017-02-02T19:27:38+00:00"
    },
    {
      "id": "a6286ef5e64b4708bc66461fb39c568d",
      "sender": "sipa",
      "payload": "i see your point, but i don't think it weighs up against the benefitd",
      "action": false,
      "timestamp": "2017-02-02T19:28:12+00:00"
    },
    {
      "id": "1604af2abc764a2785f06103a0805672",
      "sender": "sipa",
      "payload": "*benefits",
      "action": false,
      "timestamp": "2017-02-02T19:28:14+00:00"
    },
    {
      "id": "e9dee2aeab924671a8192a136343695e",
      "sender": "wumpus",
      "payload": "if you're iterating over some container, the type of container usually really doesn't matter, unless you make specific assumptions (but then you'd generally not be using a range for loop in the first place)",
      "action": false,
      "timestamp": "2017-02-02T19:28:20+00:00"
    },
    {
      "id": "86c972c1b0e348b3b4a2465ad970dbad",
      "sender": "BlueMatt",
      "payload": "wumpus: imo if you are ever actually dereferencing the type you should not use auto",
      "action": false,
      "timestamp": "2017-02-02T19:28:41+00:00"
    },
    {
      "id": "f5ad300f55af4263a35706ca9b188e1b",
      "sender": "sipa",
      "payload": "BlueMatt: your own example dereferences...",
      "action": false,
      "timestamp": "2017-02-02T19:28:56+00:00"
    },
    {
      "id": "2a9b0bc4d6674298a47cf2d8d69e26c0",
      "sender": "BlueMatt",
      "payload": "if you're dereferencing the iterator to eg a pair or just taking the element and passing it to something else, ok",
      "action": false,
      "timestamp": "2017-02-02T19:28:57+00:00"
    },
    {
      "id": "403de770ce6648afbe018e09191d062b",
      "sender": "BlueMatt",
      "payload": "but if you're dereferencing it and accessing something inside it, no",
      "action": false,
      "timestamp": "2017-02-02T19:29:08+00:00"
    },
    {
      "id": "5a25766b249342b7a8fb4487af78d350",
      "sender": "sipa",
      "payload": "then we might as well not use it at all, i think",
      "action": false,
      "timestamp": "2017-02-02T19:29:27+00:00"
    },
    {
      "id": "937bd9fe3aec4f3197999c6567a598d9",
      "sender": "jtimon",
      "payload": "ok, I think I get what you mean by \"doesn't matter\" now",
      "action": false,
      "timestamp": "2017-02-02T19:29:46+00:00"
    },
    {
      "id": "81fe8f0707694fc7a2897bb265e26382",
      "sender": "BlueMatt",
      "payload": "sipa: there are many places where you might do for (auto& thing: list) ActOn(thing);",
      "action": false,
      "timestamp": "2017-02-02T19:29:52+00:00"
    },
    {
      "id": "7483951809ed4b15a44f51fe9194b4fc",
      "sender": "BlueMatt",
      "payload": "thats reasonable",
      "action": false,
      "timestamp": "2017-02-02T19:29:55+00:00"
    },
    {
      "id": "f0c08d309f3e484fa8778ddef90a8add",
      "sender": "sipa",
      "payload": "requiring programmers to spell out redundant information just so you can grep for it seems extreme to me",
      "action": false,
      "timestamp": "2017-02-02T19:30:08+00:00"
    },
    {
      "id": "c42fa78f58af43d9a9cb6b302c7030e2",
      "sender": "gmaxwell",
      "payload": "sipa: so functions shouldn't have prototypes? :)",
      "action": false,
      "timestamp": "2017-02-02T19:30:27+00:00"
    },
    {
      "id": "4185d66c510a4401aeac38d428fd72a9",
      "sender": "BlueMatt",
      "payload": "yes, I didnt expect people to agree with me...I have extreme distaste for auto, personally",
      "action": false,
      "timestamp": "2017-02-02T19:30:27+00:00"
    },
    {
      "id": "dfa0024b00db45dc8504d842bdf159bc",
      "sender": "wumpus",
      "payload": "yes, that' extreme, and not going tohhappen. Just use smarter tools.",
      "action": false,
      "timestamp": "2017-02-02T19:30:33+00:00"
    },
    {
      "id": "01b6ba2ebdae415691bd75ad4c22f89d",
      "sender": "BlueMatt",
      "payload": "wumpus: suggestions?",
      "action": false,
      "timestamp": "2017-02-02T19:30:42+00:00"
    },
    {
      "id": "7fbc6152ff6e41ffae03c7b1ff04799e",
      "sender": "BlueMatt",
      "payload": "would love a grep --allusesoftype thing",
      "action": true,
      "timestamp": "2017-02-02T19:31:00+00:00"
    },
    {
      "id": "79d8c1be06bd45d183812051350b93a1",
      "sender": "wumpus",
      "payload": "it should be fairly easy to implement using clang's parser, would be surprised if it doesn't exist",
      "action": false,
      "timestamp": "2017-02-02T19:31:30+00:00"
    },
    {
      "id": "808d557208f54b11a890e4d43b446de3",
      "sender": "gmaxwell",
      "payload": "There is another side to it is that auto enables you to write code that acts on a type while having no idea of the type yourself. Which is safe 99% of the time and deadly the rest.",
      "action": false,
      "timestamp": "2017-02-02T19:31:50+00:00"
    },
    {
      "id": "c01ca9010a954f48908abb73a16aaf53",
      "sender": "gmaxwell",
      "payload": "because in C++ not all operations which are catgorically unsafe on a type are actually stopped by typechecking. :(",
      "action": false,
      "timestamp": "2017-02-02T19:32:20+00:00"
    },
    {
      "id": "2d72c931f4bb4b3484ce116611602d8e",
      "sender": "gmaxwell",
      "payload": "I have an auto to a container... and then I extract an auto to an iterator on it and erase things. Is my code guilty of the sin of using an invalidated iterator? It depends on what container was in use, and that was hid by auto...",
      "action": false,
      "timestamp": "2017-02-02T19:33:41+00:00"
    },
    {
      "id": "f1a7b03a1c7d4829a96c0632244722bd",
      "sender": "gmaxwell",
      "payload": "But... that sort of thing is an edge case, I'd love to see a realistic list of where auto is likely to cause problems, just to keep it in mind.",
      "action": false,
      "timestamp": "2017-02-02T19:34:08+00:00"
    },
    {
      "id": "efcdd9a0041143adb7e65a5e3632a899",
      "sender": "wumpus",
      "payload": "right - just keep it in mind while reviewing",
      "action": false,
      "timestamp": "2017-02-02T19:34:29+00:00"
    },
    {
      "id": "eaf765644ae146368a024648b1a883c1",
      "sender": "wumpus",
      "payload": "and if there are well-defined cases where auto is dangerous, they should be documented in the developer notes",
      "action": false,
      "timestamp": "2017-02-02T19:34:43+00:00"
    },
    {
      "id": "bca8c07a200c47cba699614b67235e6e",
      "sender": "BlueMatt",
      "payload": "ehh, ok, well I go read all of wallet half the time reviewing wallet changes, i guess I'll just start doing that for net, too :p",
      "action": false,
      "timestamp": "2017-02-02T19:34:57+00:00"
    },
    {
      "id": "323a1e7980a7452fb72b6e3afc90a2e7",
      "sender": "BlueMatt",
      "payload": "(not a bad thing, that)",
      "action": false,
      "timestamp": "2017-02-02T19:35:13+00:00"
    },
    {
      "id": "3cf88ed3fc7147acb26c1f379b9b2eef",
      "sender": "gmaxwell",
      "payload": "unfortunately, auto is most interesting when you have some horrible complex signature.  But those are the cases where it is also more of an issue.",
      "action": false,
      "timestamp": "2017-02-02T19:35:29+00:00"
    },
    {
      "id": "10a883a66215400395ef697ba792cd99",
      "sender": "cfields",
      "payload": "gmaxwell: for(auto& : foo) doesn't give you an iterator though, just a reference. So imo that should be highly preferred when possible to avoid your example.",
      "action": false,
      "timestamp": "2017-02-02T19:36:07+00:00"
    },
    {
      "id": "63c3eb84173049d28f72c4957b6abd83",
      "sender": "wumpus",
      "payload": "well no, it's most interesting for bog-standard loops, 99% of the cases. If you're doing anything horribly complex, that's probably where you should be careful",
      "action": false,
      "timestamp": "2017-02-02T19:36:19+00:00"
    },
    {
      "id": "f491a0433e014453ae3d942a6113bd3c",
      "sender": "jtimon",
      "payload": "BlueMatt: we can agree that auto is totally fine for unittests too, right? :p",
      "action": false,
      "timestamp": "2017-02-02T19:36:32+00:00"
    },
    {
      "id": "ec44f6d223524f6e91ef4fffe1e29229",
      "sender": "cfields",
      "payload": "(preferred over auto foo = bar.begin(), that is)",
      "action": false,
      "timestamp": "2017-02-02T19:37:20+00:00"
    },
    {
      "id": "f157ea7191124ec7913c7553d1857d6b",
      "sender": "gmaxwell",
      "payload": "wumpus: well my point is that stating the type explicitly is just as easy as auto when it's simple and obvious.",
      "action": false,
      "timestamp": "2017-02-02T19:37:23+00:00"
    },
    {
      "id": "6d42336fa5fa4988a5d2cde189785d10",
      "sender": "sipa",
      "payload": "gmaxwell: when you have some horrid complex type signature, best practice is to introduce a typedef for it... that also results in succint usage, and lacks the review concerns that BlueMatt has i think",
      "action": false,
      "timestamp": "2017-02-02T19:37:29+00:00"
    },
    {
      "id": "5fff0670cc054ed9b7b48978347cdc37",
      "sender": "jtimon",
      "payload": "I agree it removes clarity some times",
      "action": false,
      "timestamp": "2017-02-02T19:37:36+00:00"
    },
    {
      "id": "ee63eee55f1f4554a1ca98304455f408",
      "sender": "wumpus",
      "payload": "gmaxwell: it's *easy* but the point is to avoid unnecessary verbosity/typing, not so you can forget the type",
      "action": false,
      "timestamp": "2017-02-02T19:37:48+00:00"
    },
    {
      "id": "6fb6dd189eb7423093812fb42ad77658",
      "sender": "BlueMatt",
      "payload": "sipa: yes, agreed, also means dont use auto in place, which some people like to do",
      "action": false,
      "timestamp": "2017-02-02T19:37:54+00:00"
    },
    {
      "id": "dbe66c456ba6479d8e86dc3e09615e06",
      "sender": "jtimon",
      "payload": "but I don't have a clear criterion on when to use it like matt",
      "action": false,
      "timestamp": "2017-02-02T19:38:10+00:00"
    },
    {
      "id": "fbf1793c83c8416a99b69b7d317d8e8c",
      "sender": "BlueMatt",
      "payload": "wumpus: I'm generally 100% in favor of extra verbosity",
      "action": false,
      "timestamp": "2017-02-02T19:38:14+00:00"
    },
    {
      "id": "c40c1bd8f3d646edae88ceca50cb5d30",
      "sender": "wumpus",
      "payload": "e.g. to avoid having to type std::vector<std::Strring> for the zillionth time",
      "action": false,
      "timestamp": "2017-02-02T19:38:25+00:00"
    },
    {
      "id": "344ba0422c3d4bafbaf6ea1763af3436",
      "sender": "gmaxwell",
      "payload": "fking java programmers. :P",
      "action": false,
      "timestamp": "2017-02-02T19:38:25+00:00"
    },
    {
      "id": "5b2a453248364f8e813bf19306347d75",
      "sender": "wumpus",
      "payload": "BlueMatt: go use java",
      "action": false,
      "timestamp": "2017-02-02T19:38:27+00:00"
    },
    {
      "id": "b822de99ad4d4900a39bc8da147fdb68",
      "sender": "BlueMatt",
      "payload": "extra verbosity generally means less magic, which makes review easier",
      "action": false,
      "timestamp": "2017-02-02T19:38:28+00:00"
    },
    {
      "id": "f23e70085df24b3c81cf39368178ba20",
      "sender": "BlueMatt",
      "payload": "lol, i expected that....",
      "action": false,
      "timestamp": "2017-02-02T19:38:33+00:00"
    },
    {
      "id": "2886e99f99de4a31bb942b2f488353f9",
      "sender": "gmaxwell",
      "payload": "(though on type signatures, I usually also prefer being explicit more often)",
      "action": false,
      "timestamp": "2017-02-02T19:38:36+00:00"
    },
    {
      "id": "055feb7508b3470cb1e77edecae66910",
      "sender": "wumpus",
      "payload": "BlueMatt: that's not categorically true, more verbosity also means more distraction",
      "action": false,
      "timestamp": "2017-02-02T19:38:44+00:00"
    },
    {
      "id": "ba27f7b633b64b72a0593aeb9a02bdef",
      "sender": "sipa",
      "payload": "agree",
      "action": false,
      "timestamp": "2017-02-02T19:38:51+00:00"
    },
    {
      "id": "5691ee688b03408db548a6ce2b238edf",
      "sender": "BlueMatt",
      "payload": "wumpus: well, ok, more verbosity as long as it actually provides information",
      "action": false,
      "timestamp": "2017-02-02T19:38:58+00:00"
    },
    {
      "id": "e10947f250d64a3c8bc075f78f4050aa",
      "sender": "sipa",
      "payload": "nobody actually looks at what large type definitions contain",
      "action": false,
      "timestamp": "2017-02-02T19:39:05+00:00"
    },
    {
      "id": "2e54fad0b8444fbb8c54dd3cbabfbb5e",
      "sender": "wumpus",
      "payload": "having lot's of boilerplate does *not* equal easier review",
      "action": false,
      "timestamp": "2017-02-02T19:39:06+00:00"
    },
    {
      "id": "68cfe86d79fb4a589bbedf265d0dc749",
      "sender": "BlueMatt",
      "payload": "public static void main(String[] args) {} probably doesnt provide more information",
      "action": false,
      "timestamp": "2017-02-02T19:39:11+00:00"
    },
    {
      "id": "e4c5f127b4f943f9b3751f0b8243f7d0",
      "sender": "wumpus",
      "payload": "anyhow",
      "action": false,
      "timestamp": "2017-02-02T19:39:26+00:00"
    },
    {
      "id": "8a051d46708d49fb9a9267658159f436",
      "sender": "BlueMatt",
      "payload": "sipa: I do!",
      "action": false,
      "timestamp": "2017-02-02T19:39:29+00:00"
    },
    {
      "id": "2e462176e08444a0b94480b9f0262e49",
      "sender": "wumpus",
      "payload": "any other topics? this is going the wrong way",
      "action": false,
      "timestamp": "2017-02-02T19:39:35+00:00"
    },
    {
      "id": "f7eacf222b9e48909a5d4360a3c1e7d4",
      "sender": "sipa",
      "payload": "haha",
      "action": false,
      "timestamp": "2017-02-02T19:39:40+00:00"
    },
    {
      "id": "64853506f9fe4e689f774ac964c71aab",
      "sender": "luke-jr",
      "payload": "lol",
      "action": false,
      "timestamp": "2017-02-02T19:39:44+00:00"
    },
    {
      "id": "a948f451d78c4cf2b8385224123108af",
      "sender": "BlueMatt",
      "payload": "soooo...endmeeting?",
      "action": false,
      "timestamp": "2017-02-02T19:40:23+00:00"
    },
    {
      "id": "44a865c0a61040efbada7314aa00c005",
      "sender": "wumpus",
      "payload": "#endmeeting",
      "action": false,
      "timestamp": "2017-02-02T19:40:26+00:00"
    }
  ],
  "events": [
    {
      "event_type": "START_MEETING",
      "message": {
        "id": "740576c2e48f4109899881267f7aaf6e",
        "sender": "wumpus",
        "payload": "#startmeeting",
        "action": false,
        "timestamp": "2017-02-02T19:00:02+00:00"
      },
      "operand": null,
      "id": "740576c2e48f4109899881267f7aaf6e",
      "timestamp": "2017-02-02T19:00:02+00:00"
    },
    {
      "event_type": "LINK",
      "message": {
        "id": "3897b0279f974a2088ef3432cc652018",
        "sender": "gribble",
        "payload": "https://github.com/bitcoin/bitcoin/issues/9671 | Fix super-unlikely race introduced in 236618061a445d2cb11e72 by TheBlueMatt \u00c3\u0082\u00c2\u00b7 Pull Request #9671 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
        "action": false,
        "timestamp": "2017-02-02T19:02:15+00:00"
      },
      "operand": "https://github.com/bitcoin/bitcoin/issues/9671",
      "id": "3897b0279f974a2088ef3432cc652018",
      "timestamp": "2017-02-02T19:02:15+00:00"
    },
    {
      "event_type": "LINK",
      "message": {
        "id": "56bc92166476443caa5d4387ef8427b8",
        "sender": "gribble",
        "payload": "https://github.com/bitcoin/bitcoin/issues/9027 | Unbounded reorg memory usage \u00c3\u0082\u00c2\u00b7 Issue #9027 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
        "action": false,
        "timestamp": "2017-02-02T19:03:26+00:00"
      },
      "operand": "https://github.com/bitcoin/bitcoin/issues/9027",
      "id": "56bc92166476443caa5d4387ef8427b8",
      "timestamp": "2017-02-02T19:03:26+00:00"
    },
    {
      "event_type": "LINK",
      "message": {
        "id": "781251df15444b2d81de5a4f53201894",
        "sender": "gribble",
        "payload": "https://github.com/bitcoin/bitcoin/issues/9491 | Importmulti api is confusing in a way that could lead to funds loss. \u00c3\u0082\u00c2\u00b7 Issue #9491 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
        "action": false,
        "timestamp": "2017-02-02T19:05:45+00:00"
      },
      "operand": "https://github.com/bitcoin/bitcoin/issues/9491",
      "id": "781251df15444b2d81de5a4f53201894",
      "timestamp": "2017-02-02T19:05:45+00:00"
    },
    {
      "event_type": "LINK",
      "message": {
        "id": "90f76cb1aa2a4f0db44ecc05548b23ad",
        "sender": "BlueMatt",
        "payload": "https://github.com/bitcoin/bitcoin/pull/9609#discussion_r98335218",
        "action": false,
        "timestamp": "2017-02-02T19:20:10+00:00"
      },
      "operand": "https://github.com/bitcoin/bitcoin/pull/9609#discussion_r98335218",
      "id": "90f76cb1aa2a4f0db44ecc05548b23ad",
      "timestamp": "2017-02-02T19:20:10+00:00"
    },
    {
      "event_type": "END_MEETING",
      "message": {
        "id": "44a865c0a61040efbada7314aa00c005",
        "sender": "wumpus",
        "payload": "#endmeeting",
        "action": false,
        "timestamp": "2017-02-02T19:40:26+00:00"
      },
      "operand": null,
      "id": "44a865c0a61040efbada7314aa00c005",
      "timestamp": "2017-02-02T19:40:26+00:00"
    }
  ],
  "aliases": {},
  "vote_in_progress": false,
  "motion_index": null
}