{"push_id":901047687,"size":172,"distinct_size":172,"ref":"refs/heads/master","head":"c92357b85b5e585f80bb4b798e10a81f40aba26f","before":"bf268bd3de57f869f13936679df4ad9344a210a3","commits":[{"sha":"4628ebad53536132ed5ead2027276af35bc5aa59","author":{"email":"77c7960e890deddebb7ff2e55e340d2ed1708368@rkrishnan.org","name":"Ramakrishnan Muthukrishnan"},"message":"cute hlint suggestion for transformng a function","distinct":true,"url":"https://api.github.com/repos/copyninja/functorrent/commits/4628ebad53536132ed5ead2027276af35bc5aa59"},{"sha":"eaf4079c1d0dc2355a22e57bfc8285bae70abcba","author":{"email":"77c7960e890deddebb7ff2e55e340d2ed1708368@rkrishnan.org","name":"Ramakrishnan Muthukrishnan"},"message":"add a TODO item on test suite","distinct":true,"url":"https://api.github.com/repos/copyninja/functorrent/commits/eaf4079c1d0dc2355a22e57bfc8285bae70abcba"},{"sha":"1f707b2dc36f4b5d9c083c57de71906663f1c313","author":{"email":"77c7960e890deddebb7ff2e55e340d2ed1708368@rkrishnan.org","name":"Ramakrishnan Muthukrishnan"},"message":"Handle the `left' parameter for the tracker request.\n\nTracker initial request includes a parameter called `left' to indicate\nthe size of the file left to be downloaded. When we contact the tracker\ninitially, we haven't downloaded anything yet. So, the left parameter\nshould be the length parameter. For now, we handle only single file\ntorrent files, so we just pick the length param from Metainfo and shove\nit in into the tracker http request.","distinct":true,"url":"https://api.github.com/repos/copyninja/functorrent/commits/1f707b2dc36f4b5d9c083c57de71906663f1c313"},{"sha":"4703f35bf7a85310d61127b4eced1435eefa7451","author":{"email":"77c7960e890deddebb7ff2e55e340d2ed1708368@rkrishnan.org","name":"Ramakrishnan Muthukrishnan"},"message":"Update current status.","distinct":true,"url":"https://api.github.com/repos/copyninja/functorrent/commits/4703f35bf7a85310d61127b4eced1435eefa7451"},{"sha":"bf2e6269470162da408555e05edef7655f7023b0","author":{"email":"aa690ef04aee2ec4b75015e403fa902cb2f27001@gmail.com","name":"Jaseem Abid"},"message":"A few lint fixes to get started\n\n- Making `GHC -Wall` and hlint happy.\n- Renaming length to len, to not shadow prelude function\n- Remove unused import","distinct":true,"url":"https://api.github.com/repos/copyninja/functorrent/commits/bf2e6269470162da408555e05edef7655f7023b0"},{"sha":"2ad817e0d4770fa33c8ade3391f787bfbb7c4e41","author":{"email":"2c36f90144c3740f950fc91906e7cedcde3c2b62@gmail.com","name":"Ramakrishnan Muthukrishnan"},"message":"Merge pull request #2 from jaseemabid/master\n\nA few lint fixes to get started","distinct":true,"url":"https://api.github.com/repos/copyninja/functorrent/commits/2ad817e0d4770fa33c8ade3391f787bfbb7c4e41"},{"sha":"45a85ef9d7fc0f766bf05601bc6781305aed98d8","author":{"email":"77c7960e890deddebb7ff2e55e340d2ed1708368@rkrishnan.org","name":"Ramakrishnan Muthukrishnan"},"message":"WIP: peer handshake","distinct":true,"url":"https://api.github.com/repos/copyninja/functorrent/commits/45a85ef9d7fc0f766bf05601bc6781305aed98d8"},{"sha":"1cc8e5407ac77fed52b8237f42fe2bf5cba61611","author":{"email":"77c7960e890deddebb7ff2e55e340d2ed1708368@rkrishnan.org","name":"Ramakrishnan Muthukrishnan"},"message":"refactor PeerID and associated functions.\n\nUntil now we were hashing peer id string to get a 20-byte hash. But\nthat's not needed. Peer ID is just a 20-byte string that needs to be\nunique per client and sent to the tracker (and peers).","distinct":true,"url":"https://api.github.com/repos/copyninja/functorrent/commits/1cc8e5407ac77fed52b8237f42fe2bf5cba61611"},{"sha":"71929afc02146a7fdba5475f1e3a09b2dcdfe7a3","author":{"email":"77c7960e890deddebb7ff2e55e340d2ed1708368@rkrishnan.org","name":"Ramakrishnan Muthukrishnan"},"message":"more refactoring around infohash","distinct":true,"url":"https://api.github.com/repos/copyninja/functorrent/commits/71929afc02146a7fdba5475f1e3a09b2dcdfe7a3"},{"sha":"281159d486afec2a54383db397a94410f14a39e6","author":{"email":"77c7960e890deddebb7ff2e55e340d2ed1708368@rkrishnan.org","name":"Ramakrishnan Muthukrishnan"},"message":"more refactoring: type synonym for info dictionary","distinct":true,"url":"https://api.github.com/repos/copyninja/functorrent/commits/281159d486afec2a54383db397a94410f14a39e6"},{"sha":"f418f8175d3d6740c81f54f6051555c8c6e599b7","author":{"email":"aa690ef04aee2ec4b75015e403fa902cb2f27001@gmail.com","name":"Jaseem Abid"},"message":"Derive `show` automatically for BVal","distinct":true,"url":"https://api.github.com/repos/copyninja/functorrent/commits/f418f8175d3d6740c81f54f6051555c8c6e599b7"},{"sha":"f722b8b02e1a0a1e9b30877bdc04cd2a6bfdfadd","author":{"email":"2c36f90144c3740f950fc91906e7cedcde3c2b62@gmail.com","name":"Ramakrishnan Muthukrishnan"},"message":"Merge pull request #3 from jaseemabid/master\n\nDerive `show` automatically for BVal","distinct":true,"url":"https://api.github.com/repos/copyninja/functorrent/commits/f722b8b02e1a0a1e9b30877bdc04cd2a6bfdfadd"},{"sha":"c324cc92fc790e835da98fb251618af72e1405d0","author":{"email":"aa690ef04aee2ec4b75015e403fa902cb2f27001@gmail.com","name":"Jaseem Abid"},"message":"Absolute import everywhere, cleanup","distinct":true,"url":"https://api.github.com/repos/copyninja/functorrent/commits/c324cc92fc790e835da98fb251618af72e1405d0"},{"sha":"4022aabc4924422edb6a9ef0b77689ea457e40cb","author":{"email":"aa690ef04aee2ec4b75015e403fa902cb2f27001@gmail.com","name":"Jaseem Abid"},"message":"Fix failing test","distinct":true,"url":"https://api.github.com/repos/copyninja/functorrent/commits/4022aabc4924422edb6a9ef0b77689ea457e40cb"},{"sha":"83d1a802e58aad22bd96caa8b0dee844a98b96f1","author":{"email":"2c36f90144c3740f950fc91906e7cedcde3c2b62@gmail.com","name":"Ramakrishnan Muthukrishnan"},"message":"Merge pull request #4 from jaseemabid/master\n\nAbsolute imports, removing qualified imports","distinct":true,"url":"https://api.github.com/repos/copyninja/functorrent/commits/83d1a802e58aad22bd96caa8b0dee844a98b96f1"},{"sha":"44915b08c7ebea50492dc7b441f0cd8e0180f072","author":{"email":"aa690ef04aee2ec4b75015e403fa902cb2f27001@gmail.com","name":"Jaseem Abid"},"message":"Make `!` inline","distinct":true,"url":"https://api.github.com/repos/copyninja/functorrent/commits/44915b08c7ebea50492dc7b441f0cd8e0180f072"},{"sha":"047494924481d930a880a95225cd16c5cab33ab3","author":{"email":"2c36f90144c3740f950fc91906e7cedcde3c2b62@gmail.com","name":"Ramakrishnan Muthukrishnan"},"message":"Merge pull request #5 from jaseemabid/master\n\nMake `!` inline","distinct":true,"url":"https://api.github.com/repos/copyninja/functorrent/commits/047494924481d930a880a95225cd16c5cab33ab3"},{"sha":"53ada1caa28e61556c614b66c00c01dd1a753bcd","author":{"email":"de53fe1b8878d00a297ebcc5a16251ef16e9087d@gmail.com","name":"Divam"},"message":"Merge pull request #1 from vu3rdd/master\n\nmerge from vu3rdd","distinct":true,"url":"https://api.github.com/repos/copyninja/functorrent/commits/53ada1caa28e61556c614b66c00c01dd1a753bcd"},{"sha":"59d1e2ea26546ac0c735c62078def45d063c85c4","author":{"email":"de53fe1b8878d00a297ebcc5a16251ef16e9087d@gmail.com","name":"Divam"},"message":"Logger implementation code. Fixes #6. Logging to file remaining","distinct":true,"url":"https://api.github.com/repos/copyninja/functorrent/commits/59d1e2ea26546ac0c735c62078def45d063c85c4"},{"sha":"6d5f62f23f09eb8f94b824261c8d13cf797b315c","author":{"email":"de53fe1b8878d00a297ebcc5a16251ef16e9087d@gmail.com","name":"Divam"},"message":"Feedback from @jaseemabid, Fixes #6","distinct":true,"url":"https://api.github.com/repos/copyninja/functorrent/commits/6d5f62f23f09eb8f94b824261c8d13cf797b315c"}]}