)]}'
{
  "log": [
    {
      "commit": "791d3229d6afc0bb108a0b3bd2f382120ae1138f",
      "tree": "4ebccb1a757d8ed22d9265b7361a822b7b9087f9",
      "parents": [
        "104c94b34d577adb1e51979ef9c12619f58382fb"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sun Feb 05 11:48:11 2023 +0100"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sun Feb 05 11:48:11 2023 +0100"
      },
      "message": "Bump version to v2.3.0 and update Readme\n\nChange-Id: I24fb3042e99c70b38991ac1bee5df0e5c411d2f2\n"
    },
    {
      "commit": "104c94b34d577adb1e51979ef9c12619f58382fb",
      "tree": "1a9c2501101c3c1383f29da77af667e235232f77",
      "parents": [
        "b028de453ff7bc84e558bdf05c331803b1cdb0a8"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Thu Feb 02 19:53:53 2023 +0100"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Sun Feb 05 11:16:06 2023 +0100"
      },
      "message": "Add option -Z to exclude empty texts\n\nChange-Id: I1f2594ce839351205ce43b5047b349af7ba019bb\n"
    },
    {
      "commit": "b028de453ff7bc84e558bdf05c331803b1cdb0a8",
      "tree": "17a1992ee73ebb28b23e6c4d38f373ad07499c34",
      "parents": [
        "426dbff952a613b3df6616dda9c8541ad3e976c5"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Thu Feb 02 19:52:11 2023 +0100"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Thu Feb 02 19:52:11 2023 +0100"
      },
      "message": "Bump version to 2.2.3\n\nChange-Id: I9d7e16d5a28edbf4fcd76f8b1d2b1c540e23363c\n"
    },
    {
      "commit": "426dbff952a613b3df6616dda9c8541ad3e976c5",
      "tree": "76dfedb7760935d0dfd381f3eda27c0a05ae88a0",
      "parents": [
        "f5d4d75543681f23046fb0e7034b24a815cd8ab3"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Jan 23 17:13:50 2023 +0100"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Jan 23 17:29:39 2023 +0100"
      },
      "message": "Bump version to v2.2.2\n\nChange-Id: I2087c6e0032f271b74c3a4a96b3245ba82f65d28\n"
    },
    {
      "commit": "8044382c3aca19adc974cd7cce6dcb5cffe3e579",
      "tree": "2a7f724d52b7e944125534af45f712e0404b84f5",
      "parents": [
        "af8095259f0555a4fc97e9c6a154831781d290be"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Wed Dec 21 22:58:18 2022 +0100"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Wed Dec 21 22:58:18 2022 +0100"
      },
      "message": "Bump version to 2.2.1\n\nChange-Id: Ia438d22b0f6ea4cc8f4db72f76284756382c764b\n"
    },
    {
      "commit": "5b1d372f801132090282107b16986f8334dbb39d",
      "tree": "b38074c04abe063df62cf3294f1469f51d78291c",
      "parents": [
        "545bb919879b8d4a130eb1040efa5443e18a63fe"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Wed Dec 21 16:40:10 2022 +0100"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Wed Dec 21 16:40:10 2022 +0100"
      },
      "message": "Bump version to 2.2.0\n\nChange-Id: I312a7bdc61d4ffaa7d890b82c4530ab5754e9dee\n"
    },
    {
      "commit": "a4f6cf9ea44b1a6fce6e59e6530e1ecf8658ba9f",
      "tree": "8e59bdcd3dfae181c200c685d98ecc17243144ba",
      "parents": [
        "464b1c88414ef715b5f9f50c0e3b6a6c32db5ce2"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Wed Dec 07 17:28:29 2022 +0100"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Wed Dec 07 17:30:42 2022 +0100"
      },
      "message": "Add exclude punctuation option\n\nChange-Id: Ie90a59f77a92b8007af92411bcbaf00a8c910722\n"
    },
    {
      "commit": "464b1c88414ef715b5f9f50c0e3b6a6c32db5ce2",
      "tree": "d42a00b81381a2a7a0960f43845747ddfac2dab7",
      "parents": [
        "1e09a23b4b246646212d785b118561c603378cf5"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Thu Dec 01 13:44:41 2022 +0100"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Thu Dec 01 13:44:41 2022 +0100"
      },
      "message": "Bump version to v2.1.0\n\nChange-Id: Ia9db89f59ba15466fc3477793415ae06fa40110f\n"
    },
    {
      "commit": "1e09a23b4b246646212d785b118561c603378cf5",
      "tree": "cc696e1479adc34ff74a346634764ea1629a6f3a",
      "parents": [
        "a5c191f4216b69803fc05067e3ba3415b4b162c8"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Thu Dec 01 13:31:28 2022 +0100"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Thu Dec 01 13:31:28 2022 +0100"
      },
      "message": "Cosmetic code changes\n\nChange-Id: I0e4218de3657890b43afec95596b9ddcdb5fef60\n"
    },
    {
      "commit": "9b6b845b07d066faa20ccd8685fd3d5c143d36e6",
      "tree": "ad3ebedbba580adf73e8a1ace312c57e6eb24935",
      "parents": [
        "097f35a31e474b3aea6f33187ae9c0ecf8f422e2"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Nov 08 13:44:54 2022 +0100"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Nov 08 15:04:17 2022 +0100"
      },
      "message": "Extend LinkedList\u003cString\u003e correctly\n\nChange-Id: Ic146186b53b2a2a68ebef69e112149a7d2355fba\n"
    },
    {
      "commit": "098c82062ee3e8ea4aa2f7c0ce470c90fdb6d2f2",
      "tree": "ce2bf217225a5131299e76b6228cf6623fe015ea",
      "parents": [
        "7722b47db1deb01e7140ed3ab191afe0c5748164"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Oct 24 18:13:17 2022 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Oct 25 15:16:41 2022 +0200"
      },
      "message": "Handle tab-separated ints in numeric secondary sort\n\nChange-Id: Ie1444e15022a043a6ded838740b45ed61957f4ce\n"
    },
    {
      "commit": "7722b47db1deb01e7140ed3ab191afe0c5748164",
      "tree": "2a19014044101b7dfbf8ea1e13465bd2c7e5f427",
      "parents": [
        "fa273a5a91250bfd2957ad8f4f476b3d6d5c05c2"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Oct 24 18:12:06 2022 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Oct 24 18:12:06 2022 +0200"
      },
      "message": "Simplify unsorted output\n\nChange-Id: Ib1cfb1949903ad812cceedc886ae425d6f58395c\n"
    },
    {
      "commit": "983cfc1997aa6f0cdfb172f9e9122d669f386e03",
      "tree": "5421a9f98959558f9069918853468f0569eb7912",
      "parents": [
        "4a64b9cefdf6ac372f26c804f34adf9ec81601d2"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Thu Oct 07 18:54:07 2021 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Thu Oct 07 18:54:07 2021 +0200"
      },
      "message": "Bump version to 2.0\n\nChange-Id: I1a974c68512177278c258e0052bfc44ef5d22b2c\n"
    },
    {
      "commit": "c73be803cba6db6afb21ab060fda0106598178f9",
      "tree": "e87c71786e662336cda2a82601ca8ffed39f750d",
      "parents": [
        "04dd98464b43b5a80fbd666198bd2ab11a1f6ed0"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Thu Oct 07 17:57:39 2021 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Thu Oct 07 17:57:39 2021 +0200"
      },
      "message": "Let number of folds (-F) default to 1\n\nChange-Id: Ie6953920493b26830ae6eda97338b3bb1f847f43\n"
    },
    {
      "commit": "04dd98464b43b5a80fbd666198bd2ab11a1f6ed0",
      "tree": "bf70ab57a95cde9a7efcfbe61723d55e7b26f95e",
      "parents": [
        "37197a8f03987ce026804962647365479c98c45b"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Sep 27 06:49:33 2021 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Thu Oct 07 17:53:55 2021 +0200"
      },
      "message": "Unify name to totalngrams\n\nChange-Id: I7536cda14a49cf8ea2c928518cad40284d112138\n"
    },
    {
      "commit": "5d566530ff5c8672ab92bf370b7c095a09b49df7",
      "tree": "0cfed9a1c72e3d89a9e86c8dd0512432d49eae81",
      "parents": [
        "a691041dec4308c43716a77451bd6fb917f60945"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Fri Sep 24 18:15:19 2021 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Fri Sep 24 19:28:02 2021 +0200"
      },
      "message": "Add text end padding only if in target fold\n\nChange-Id: I313556560668a44f486e1083b62076d032e43b70\n"
    },
    {
      "commit": "a691041dec4308c43716a77451bd6fb917f60945",
      "tree": "01ecef067465a1e2dc90e311d1a066b39f0c6663",
      "parents": [
        "ead2a6fcbb23c8860648199c2d62c41908eaf15b"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Thu Sep 23 23:15:20 2021 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Fri Sep 24 16:26:02 2021 +0200"
      },
      "message": "Add --pad option to optionally add padding symbols at text edges\n\n1       ich     ich     PPER    PPER    _       _       _       _       1\n 2       bin     sein    VAFIN   VAFIN   _       _       _       _       1.000000\n 3       alex    alex    NE      NE      _       _       _       _       0.565630\n 4       .       .       $.      $.      _       _       _       _       1.000000\n\n # text_id \u003d TST_TST.00001\n 1       alex    alex    NE      NE      _       _       _       _       0.565630\n 2       bin     sein    VAFIN   VAFIN   _       _       _       _       1.000000\n 3       ich     ich     PPER    PPER    _       _       _       _       1\n 4       .       .       $.      $.      _       _       _       _       1.000000\n\n # text_id \u003d TST_TST.00002\n 1       ich     ich     PPER    PPER    _       _       _       _       1\n 2       heiße   heißen  VAFIN   VAFIN   _       _       _       _       1.000000\n 3       alex    alex    NE      NE      _       _       _       _       0.565630\n 4       .       .       $.      $.      _       _       _       _       1.000000\n\n----\u003e\n\n.       «END»   «END»   3\n«END»   «END»   «END»   3\n«START» «START» «START» 3\n«START» «START» ich     2\nalex    .       «END»   2\n«START» «START» alex    1\n«START» alex    bin     1\n«START» ich     bin     1\n«START» ich     heiße   1\nalex    bin     ich     1\nbin     alex    .       1\nbin     ich     .       1\nheiße   alex    .       1\nich     .       «END»   1\nich     bin     alex    1\nich     heiße   alex    1\n\nChange-Id: Ib4826400da657787940805c616a0000ac089120d\n"
    },
    {
      "commit": "03f9dc05a9527cf9851ec294d3fda92976fb505d",
      "tree": "30c60a0cece9bef38508d3e791256cf4b46e2d1e",
      "parents": [
        "1b717be23ed24c717c510a8ea59e42450b261337"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Wed Sep 15 19:04:11 2021 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Wed Sep 15 19:04:11 2021 +0200"
      },
      "message": "Add option -N to sort keys with same freq numerically\n\nChange-Id: I70c4b8c6c5b7f9f6e705716a8d46fd3a23e5de6b\n"
    },
    {
      "commit": "1b717be23ed24c717c510a8ea59e42450b261337",
      "tree": "cf61fceea236ac78a4db5b118ba751b664ccd140",
      "parents": [
        "f14c0967e4a4e909944b42c5c01073bd4ba06c77"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Wed Sep 15 16:36:11 2021 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Wed Sep 15 16:46:46 2021 +0200"
      },
      "message": "Auto detect xz compression for input and output\n\nNote that the compression is much slower than with gz, because\nthe xz compressor cannot yet run multi-threaded. However, xz compression\nis typically much better.\n\nChange-Id: Ia8bc7f6238f3c6367fd78ab45d37d2485090ef6f\n"
    },
    {
      "commit": "53623e04349fa06a8951eda046c4170ca6657566",
      "tree": "e8784c743cec9f5d35c8d04f52d0d50e2b0e1f35",
      "parents": [
        "bc8bd3d86fb7bc465fc6e4241a9d86b267823958"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Wed Apr 07 19:07:20 2021 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Wed Apr 07 19:07:20 2021 +0200"
      },
      "message": "Add --downcase/-d option to convert all token characters to lower case\n\nChange-Id: I236cf61369faead4b9e4d955b7190b25f88d4a46\n"
    },
    {
      "commit": "bc8bd3d86fb7bc465fc6e4241a9d86b267823958",
      "tree": "f94289117a1a62e4bd4f79e578b40b17f5778479",
      "parents": [
        "2a65aee85b218233678fc06cad388f8e98b48dc4"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Wed Nov 25 09:39:59 2020 +0100"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Wed Nov 25 09:39:59 2020 +0100"
      },
      "message": "totalngrams: for .(freq|tsv)(.gz)? input files automatically cumulate frequencies\n"
    },
    {
      "commit": "2a65aee85b218233678fc06cad388f8e98b48dc4",
      "tree": "f60759d9768a954dffb1bae6d396ccc5972eac95",
      "parents": [
        "c3c172d196acb53bdcfc4562fede44342d98b55f"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Wed Nov 25 09:33:07 2020 +0100"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Wed Nov 25 09:33:07 2020 +0100"
      },
      "message": "totalngrams: use stringbuilder for building output lines\n"
    },
    {
      "commit": "c3c172d196acb53bdcfc4562fede44342d98b55f",
      "tree": "26ad2f7855f33faaf617d111239fe0ac881653c6",
      "parents": [
        "97f00c4955fbbb95a0644983684b9804c0a6ac20"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Wed Oct 07 11:07:08 2020 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Wed Oct 07 11:07:08 2020 +0200"
      },
      "message": "totalngrams add log for unsorted ouput\n"
    },
    {
      "commit": "97f00c4955fbbb95a0644983684b9804c0a6ac20",
      "tree": "ad40a8138f2c8078603de644b84e3ddd63537560",
      "parents": [
        "85a17b0c2cdf86fadca02d755661388673f38eb8"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Wed Oct 07 11:03:09 2020 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Wed Oct 07 11:03:09 2020 +0200"
      },
      "message": "totalngrams: make sure to assume unsigned ints in frequency prints\n"
    },
    {
      "commit": "85a17b0c2cdf86fadca02d755661388673f38eb8",
      "tree": "ff6a0a0a685ce082d9248e1da9438f32ddfc7c54",
      "parents": [
        "775c66690f7710bcc9503b780ba0e62719d540ae"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Wed Oct 07 10:42:37 2020 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Wed Oct 07 10:42:37 2020 +0200"
      },
      "message": "totalngrams: add -S to turn off output sorting\n\ncan be required for \u003e\u003d 3 grams\n"
    },
    {
      "commit": "c78b5a5131a3faaa8f9400147b3f2c1e39a5669c",
      "tree": "4492bbe4de7aba5035296fd1ac2f7505e0d14b6e",
      "parents": [
        "aca0a8dd422a5697bed66be33b51f4dd4f564214"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Oct 05 09:40:30 2020 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Oct 05 09:40:50 2020 +0200"
      },
      "message": "totalNGrams: unescape all XML entities (\u0026, \u003c, \u003e, \")\n"
    },
    {
      "commit": "aca0a8dd422a5697bed66be33b51f4dd4f564214",
      "tree": "3167854acfe65b1828e4763152debe9c1abf30e8",
      "parents": [
        "aaf46f13ed75919fdba2ebb506d2e614256142a1"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Sep 15 16:37:48 2020 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Sep 15 16:37:48 2020 +0200"
      },
      "message": "n-grams: Assert proper tab separated CoNLL-U Format with 10 columns input\n"
    },
    {
      "commit": "aaf46f13ed75919fdba2ebb506d2e614256142a1",
      "tree": "dd7e5bf2e2d70f7223d0df85fcf674fca5fc636d",
      "parents": [
        "cf6ec7d69ed7a82a2763a10f83951aa5643733a4"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Wed Jul 29 18:00:57 2020 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Wed Jul 29 18:00:57 2020 +0200"
      },
      "message": "totalngrams: fix main class name\n"
    },
    {
      "commit": "cf6ec7d69ed7a82a2763a10f83951aa5643733a4",
      "tree": "890bf940feaf11d9080a4f21056db9befabcf226",
      "parents": [
        "3db37c55019ebc33c4483438c8f320aa8844c190"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Wed Jul 29 18:00:08 2020 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Wed Jul 29 18:00:08 2020 +0200"
      },
      "message": "totalngrams: fix junit5 tests with old maven versions\n"
    },
    {
      "commit": "8b1bfab0da19ca9bcfa5446a2c52a185fa9e3c72",
      "tree": "ac03f60e587cf2fc8dc4fad4477e1274fbce439a",
      "parents": [
        "b5f4868b1941d35639afe05f8095d1fe941ca904"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Jul 28 09:33:47 2020 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Jul 28 09:33:47 2020 +0200"
      },
      "message": "totalngrams: default to cores - 2 threads\n"
    },
    {
      "commit": "b5f4868b1941d35639afe05f8095d1fe941ca904",
      "tree": "38dbc652cae2acc4e0677b6e3c67fc34adbec480",
      "parents": [
        "2ea60bd1571777050fe386dc0b15abff909808f0"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Jul 28 09:33:05 2020 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Jul 28 09:33:05 2020 +0200"
      },
      "message": "totalngrams: remove redundant returns and imports\n"
    },
    {
      "commit": "2ea60bd1571777050fe386dc0b15abff909808f0",
      "tree": "8e03839c46fdfc0d3f3bc86b6368727683cf51c6",
      "parents": [
        "8780be5e975a6c29ed6b8e057972559b9ea5ce7d"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Jul 28 09:24:43 2020 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Jul 28 09:24:43 2020 +0200"
      },
      "message": "Use cryptogrphic Blake2b hash as determisitic fold random source\n\nThe original standard hash code function was in effect partially\ndependent on the order of the texts.\n"
    },
    {
      "commit": "8780be5e975a6c29ed6b8e057972559b9ea5ce7d",
      "tree": "9d3e03b207569b5b7e669fb0be39457d27a41586",
      "parents": [
        "30c9a81abe1df6a1fe8bd94e4e83a4a3da629168"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Jul 28 09:12:09 2020 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Jul 28 09:17:07 2020 +0200"
      },
      "message": "totalngrams: add console logger for \u003e WARNING levels\n"
    },
    {
      "commit": "30c9a81abe1df6a1fe8bd94e4e83a4a3da629168",
      "tree": "d56547d71368ce951c7955f772e6877fb45909e9",
      "parents": [
        "d49801a5290bf1d56776d76e48dd81610995fc13"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Jul 28 09:10:56 2020 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Jul 28 09:10:56 2020 +0200"
      },
      "message": "totalngrams: fix missing imports\n"
    },
    {
      "commit": "d49801a5290bf1d56776d76e48dd81610995fc13",
      "tree": "782ae666d158281ea51628414218f848b00191fc",
      "parents": [
        "3e8a38dab9cebd0183c1396b4f430bf179b24f82"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Jul 28 09:09:41 2020 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Jul 28 09:09:41 2020 +0200"
      },
      "message": "totalngrams: sort input files by size\n"
    },
    {
      "commit": "3e8a38dab9cebd0183c1396b4f430bf179b24f82",
      "tree": "20652a5b7b14c3a27396f0c407a57e62069c88e7",
      "parents": [
        "0337db6d182b96d8927ea295aa8d4c300a3f11e3"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Jul 28 09:06:20 2020 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Jul 28 09:06:20 2020 +0200"
      },
      "message": "totalngrams: add reading .conllu and conllu.gz files directly\n"
    },
    {
      "commit": "0337db6d182b96d8927ea295aa8d4c300a3f11e3",
      "tree": "26eeb3d74eadc68b280a93ed4d5d49b8f7cacd56",
      "parents": [
        "6638bb2d153d5b460b9e17ffc020e67283a8b877"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Jul 27 15:56:26 2020 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Jul 27 15:56:26 2020 +0200"
      },
      "message": "totalngrams: add -l option to count \u003ctoken\u003e\\t\u003clemma\u003e\\t\u003cpos\u003e\n"
    },
    {
      "commit": "9c63b57bf420e50494aada8066a081610bcfb54c",
      "tree": "a32054d903be2354db096358e0b79eeea46ae96a",
      "parents": [
        "a3637461c96def51a93b5924672b6aa3c237eeee"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Jul 27 12:24:52 2020 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Jul 27 12:24:52 2020 +0200"
      },
      "message": "totalngrams: Calculate only one fold at a time\n"
    },
    {
      "commit": "a3637461c96def51a93b5924672b6aa3c237eeee",
      "tree": "5333939ee5248f704d4cfdc9c03c6898dee6c4b2",
      "parents": [
        "fcee6068245db9569e06f506fa59e43642850f87"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Jul 27 12:18:40 2020 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Jul 27 12:18:40 2020 +0200"
      },
      "message": "totalngrams: use tab as separator also between n-gram tokens\n"
    },
    {
      "commit": "fcee6068245db9569e06f506fa59e43642850f87",
      "tree": "7f885cb47c68715fda1ea8aedcb506191af445f7",
      "parents": [
        "12c041198c22226fa4b50789a1faeff4e94635ff"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Fri Jul 24 22:01:26 2020 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Fri Jul 24 22:01:26 2020 +0200"
      },
      "message": "Revert \"totalngrams: use chronicle map for larger maps\"\n\nThis reverts commit 8f086bf0e18359f6dcec6a125936a79b7113dc4b.\n"
    },
    {
      "commit": "12c041198c22226fa4b50789a1faeff4e94635ff",
      "tree": "9d80015735a62fcd5ec4ab0d3b4df4bf6897a575",
      "parents": [
        "d2458226c2caae8cac402246fc0a9e2dd0aa4e51"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Fri Jul 24 22:01:11 2020 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Fri Jul 24 22:01:11 2020 +0200"
      },
      "message": "Revert \"Try Ehcache\"\n\nThis reverts commit b7f4bb7ee472eb5202fbf17c415b8ddd2d68257f.\n"
    },
    {
      "commit": "d2458226c2caae8cac402246fc0a9e2dd0aa4e51",
      "tree": "9651dd1e2f20318208d9a5d4ed284c1327874ff0",
      "parents": [
        "7f45175cdd1de47574f5307be498daed16ea93b4"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Fri Jul 24 21:55:50 2020 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Fri Jul 24 21:55:50 2020 +0200"
      },
      "message": "Try Ehcache\n"
    },
    {
      "commit": "7f45175cdd1de47574f5307be498daed16ea93b4",
      "tree": "9d80015735a62fcd5ec4ab0d3b4df4bf6897a575",
      "parents": [
        "ac44043f4049096f076adda9c8eaa0d656fed461"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Fri Jul 24 16:26:34 2020 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Fri Jul 24 16:26:34 2020 +0200"
      },
      "message": "totalngrams: use chronicle map for larger maps\n"
    },
    {
      "commit": "ac44043f4049096f076adda9c8eaa0d656fed461",
      "tree": "7f885cb47c68715fda1ea8aedcb506191af445f7",
      "parents": [
        "e23b6cb9848347940257f359fe764e5f42b9e3e2"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Fri Jul 24 16:22:46 2020 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Fri Jul 24 16:22:46 2020 +0200"
      },
      "message": "totalngrams: factor out file creation\n"
    },
    {
      "commit": "b9ff1574ec1278c572085289d33dd375e458f71c",
      "tree": "7cde71adf564a4086edff6054e5f5229b761e13a",
      "parents": [
        "34bbca5c6303881c23453365c2a08ae9c10c5b7e"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Fri Jul 24 09:28:49 2020 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Fri Jul 24 09:28:49 2020 +0200"
      },
      "message": "totalngrams: fix calculations with unsigned integers \u003e 2^31\n"
    },
    {
      "commit": "34bbca5c6303881c23453365c2a08ae9c10c5b7e",
      "tree": "52ef2849a09275687899ce84b522cfba48b794c7",
      "parents": [
        "251bbacb00804fed3a2a63bcb55e48145a622ff2"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Fri Jul 24 09:27:56 2020 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Fri Jul 24 09:27:56 2020 +0200"
      },
      "message": "totalngrams: use buffered output streams\n"
    },
    {
      "commit": "5dc9fa5bd455c240f0128bcd554de8fc59ab650b",
      "tree": "3d74d700c76dbadfe29e177f27f6448d74720937",
      "parents": [
        "ba7c757d98f5fa948acfc4904a369818acd44931"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Thu Jul 23 13:53:38 2020 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Thu Jul 23 13:53:38 2020 +0200"
      },
      "message": "totalngrams: improve logging\n\n* use \u003coutput_file\u003e.log by default\n* one line per log\n* still in default locale :)\n"
    },
    {
      "commit": "ba7c757d98f5fa948acfc4904a369818acd44931",
      "tree": "32667fadb52966195f270628c30683798cd6db64",
      "parents": [
        "0b957839f26e63adcacbfc18cbc4a273457d7911"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Thu Jul 23 13:49:56 2020 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Thu Jul 23 13:49:56 2020 +0200"
      },
      "message": "totalngrams: support gzipped output\n"
    },
    {
      "commit": "0b957839f26e63adcacbfc18cbc4a273457d7911",
      "tree": "88698ca2760b3d1560de0f689a7a8ed6aee695ea",
      "parents": [
        "010903ea33da00c7c0856f85b34188f4c3f256ad"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Thu Jul 23 13:45:51 2020 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Thu Jul 23 13:45:51 2020 +0200"
      },
      "message": "totalngrams: sanitize worker node pool\n"
    },
    {
      "commit": "010903ea33da00c7c0856f85b34188f4c3f256ad",
      "tree": "4fe674703cdd210c614b8a30e5e2b7c670f39c2b",
      "parents": [
        "e31c4e1770f2547e3ccbea0ee7adfe369d17029f"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Thu Jul 23 13:42:10 2020 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Thu Jul 23 13:42:10 2020 +0200"
      },
      "message": "totalngrams: reuse slidingWindowQueue\n"
    },
    {
      "commit": "e31c4e1770f2547e3ccbea0ee7adfe369d17029f",
      "tree": "ba2451d2fc0667990e4f34b953a531389a406f88",
      "parents": [
        "9d64cde1b51039d0a838ea79502b1fae014ece37"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Thu Jul 23 13:39:43 2020 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Thu Jul 23 13:39:43 2020 +0200"
      },
      "message": "totalngrams: improve progressbar looks\n"
    },
    {
      "commit": "9d64cde1b51039d0a838ea79502b1fae014ece37",
      "tree": "6e002f51b94cf5ace88be938d082c7d6a19c2ee1",
      "parents": [
        "68dc73d087478b1b11f9d9faa52fa658ab8d5ecd"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Thu Jul 23 13:38:00 2020 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Thu Jul 23 13:38:00 2020 +0200"
      },
      "message": "Use unsigned integers instead of longs for counts\n\nFor German this should be OK upto 80 billion words corpora and it saves\nmemory.\n"
    },
    {
      "commit": "68dc73d087478b1b11f9d9faa52fa658ab8d5ecd",
      "tree": "8b9e27d49759210f4e5d001ca123bdf068aa73f4",
      "parents": [
        "bd62aa02af40840db803f8ff8d68c4894fc56d9d"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Thu Jul 23 12:27:54 2020 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Thu Jul 23 12:27:54 2020 +0200"
      },
      "message": "totalngrams: parallelize and fix alphabetical secondary sorting\n"
    },
    {
      "commit": "bd62aa02af40840db803f8ff8d68c4894fc56d9d",
      "tree": "6b148abecf380d5c59bf9650b4d3108ee8962f28",
      "parents": [
        "cc77d67fdee019337e053bb2cbc56c3b4a6b28a5"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Wed Jul 22 08:48:40 2020 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Wed Jul 22 08:48:40 2020 +0200"
      },
      "message": "totalngrams: log warnings and retry on errors\n"
    },
    {
      "commit": "cc77d67fdee019337e053bb2cbc56c3b4a6b28a5",
      "tree": "1d99fdbe663b9b986b79a0540b1cef6d0a2ac7d5",
      "parents": [
        "4cd3389c56390a31a5b59bb2c50e219421d15061"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Wed Jul 22 08:46:15 2020 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Wed Jul 22 08:46:15 2020 +0200"
      },
      "message": "totalngrams: sanitize progressbar\n"
    },
    {
      "commit": "4cd3389c56390a31a5b59bb2c50e219421d15061",
      "tree": "1c70b433a97c21b164229794d04eab762a355ef7",
      "parents": [
        "97713f3b837936465ea14897ddb6b3a41edc35a1"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Jul 21 13:02:29 2020 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Jul 21 13:02:29 2020 +0200"
      },
      "message": "totalngrams: allow using a worker node pool\n"
    },
    {
      "commit": "97713f3b837936465ea14897ddb6b3a41edc35a1",
      "tree": "c41ab03facc049e9d8a632198376c88fcffc1e1f",
      "parents": [
        "8fae5821bcf27d2f15d2b76bc20c775586fa95e2"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Jul 21 12:58:37 2020 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Jul 21 12:58:37 2020 +0200"
      },
      "message": "totalngrams: detect early if output file can be written\n"
    },
    {
      "commit": "8fae5821bcf27d2f15d2b76bc20c775586fa95e2",
      "tree": "b39099c3f5be7db3b28d3077512937ad9ea91ada",
      "parents": [
        "1c06250fa2c0fc2356a64b589665e0b1514f30d7"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Jul 21 12:03:30 2020 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Tue Jul 21 12:54:10 2020 +0200"
      },
      "message": "totalngram: Use our own ETA printer\n\nWe need to know approximately when the process will be finished to make\nsure it\u0027s not in 10 years.\n"
    },
    {
      "commit": "1c06250fa2c0fc2356a64b589665e0b1514f30d7",
      "tree": "b2ee0afc4d1375c8e0b63a85ba627b59f437bd04",
      "parents": [
        "88d50e2f032b9dae81d3c8ffefb77d7469834acf"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Jul 20 18:05:41 2020 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Jul 20 18:05:41 2020 +0200"
      },
      "message": "Revert \"totalngram: compute marginals in parallel\"\n\nAlso slower than without.\n\nThis reverts commit 7e13ab64e9628ec0bac0b6a9a9064bf10ae47d9b.\n"
    },
    {
      "commit": "88d50e2f032b9dae81d3c8ffefb77d7469834acf",
      "tree": "66accfc2ed4b0337b3b3e80f746fe77814c4f7f2",
      "parents": [
        "962a9785d83b1d0c13e9d0c77288d223fc91a3e2"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Jul 20 17:26:18 2020 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Jul 20 18:03:12 2020 +0200"
      },
      "message": "totalngram: compute marginals in parallel\n"
    },
    {
      "commit": "962a9785d83b1d0c13e9d0c77288d223fc91a3e2",
      "tree": "b2ee0afc4d1375c8e0b63a85ba627b59f437bd04",
      "parents": [
        "0184f9c9369efbeeb7ed739bb0139bbb3659265c"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Jul 20 16:57:57 2020 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Jul 20 16:57:57 2020 +0200"
      },
      "message": "Revert \"totalngram: use CircularFifoQueue as sliding window base\"\n\nSeems to be a lot slower than with LinkedList, strange.\n\nThis reverts commit 73203b7c8a57731fdb7e76dce90034df7ffb88d8.\n"
    },
    {
      "commit": "0184f9c9369efbeeb7ed739bb0139bbb3659265c",
      "tree": "b15eab5821a8c8cd709afd4847cb5fc1b913cb33",
      "parents": [
        "81e85e2875f58fe4d72a5d9a61bba30775591344"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Jul 20 16:56:25 2020 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Jul 20 16:56:25 2020 +0200"
      },
      "message": "totalngram: use CircularFifoQueue as sliding window base\n"
    },
    {
      "commit": "81e85e2875f58fe4d72a5d9a61bba30775591344",
      "tree": "b2ee0afc4d1375c8e0b63a85ba627b59f437bd04",
      "parents": [
        "a37cc9fa22fde884f2f6f242140a7b297525ff59"
      ],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Jul 20 16:41:38 2020 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Jul 20 16:41:38 2020 +0200"
      },
      "message": "totalngram: Support \u003e 1-grams\n"
    },
    {
      "commit": "a37cc9fa22fde884f2f6f242140a7b297525ff59",
      "tree": "9d57d5c709ce64886c76df234e8ced48dffcf177",
      "parents": [],
      "author": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Jul 20 09:12:20 2020 +0200"
      },
      "committer": {
        "name": "Marc Kupietz",
        "email": "kupietz@ids-mannheim.de",
        "time": "Mon Jul 20 15:04:40 2020 +0200"
      },
      "message": "Efficient folded ngram frequency adder\n"
    }
  ]
}
