# HG changeset patch # User Steve Losh # Date 1597201758 14400 # Node ID 52f9e9c8aa31cf53f18bdc58ae3e7a5bc5b3b128 # Parent 88008e9aeac3d5cf2567b5c4fe051417b3722ac0 Add tests with actual data diff -r 88008e9aeac3 -r 52f9e9c8aa31 test/data/github/sjl-repos.json --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/data/github/sjl-repos.json Tue Aug 11 23:09:18 2020 -0400 @@ -0,0 +1,2924 @@ +[ + { + "id": 62332915, + "node_id": "MDEwOlJlcG9zaXRvcnk2MjMzMjkxNQ==", + "name": ".plan", + "full_name": "sjl/.plan", + "private": false, + "owner": { + "login": "sjl", + "id": 58365, + "node_id": "MDQ6VXNlcjU4MzY1", + "avatar_url": "https://avatars0.githubusercontent.com/u/58365?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sjl", + "html_url": "https://github.com/sjl", + "followers_url": "https://api.github.com/users/sjl/followers", + "following_url": "https://api.github.com/users/sjl/following{/other_user}", + "gists_url": "https://api.github.com/users/sjl/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sjl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sjl/subscriptions", + "organizations_url": "https://api.github.com/users/sjl/orgs", + "repos_url": "https://api.github.com/users/sjl/repos", + "events_url": "https://api.github.com/users/sjl/events{/privacy}", + "received_events_url": "https://api.github.com/users/sjl/received_events", + "type": "User", + "site_admin": false + }, + "html_url": "https://github.com/sjl/.plan", + "description": "Git mirror of https://hg.stevelosh.com/.plan/", + "fork": false, + "url": "https://api.github.com/repos/sjl/.plan", + "forks_url": "https://api.github.com/repos/sjl/.plan/forks", + "keys_url": "https://api.github.com/repos/sjl/.plan/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/sjl/.plan/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/sjl/.plan/teams", + "hooks_url": "https://api.github.com/repos/sjl/.plan/hooks", + "issue_events_url": "https://api.github.com/repos/sjl/.plan/issues/events{/number}", + "events_url": "https://api.github.com/repos/sjl/.plan/events", + "assignees_url": "https://api.github.com/repos/sjl/.plan/assignees{/user}", + "branches_url": "https://api.github.com/repos/sjl/.plan/branches{/branch}", + "tags_url": "https://api.github.com/repos/sjl/.plan/tags", + "blobs_url": "https://api.github.com/repos/sjl/.plan/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/sjl/.plan/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/sjl/.plan/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/sjl/.plan/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/sjl/.plan/statuses/{sha}", + "languages_url": "https://api.github.com/repos/sjl/.plan/languages", + "stargazers_url": "https://api.github.com/repos/sjl/.plan/stargazers", + "contributors_url": "https://api.github.com/repos/sjl/.plan/contributors", + "subscribers_url": "https://api.github.com/repos/sjl/.plan/subscribers", + "subscription_url": "https://api.github.com/repos/sjl/.plan/subscription", + "commits_url": "https://api.github.com/repos/sjl/.plan/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/sjl/.plan/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/sjl/.plan/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/sjl/.plan/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/sjl/.plan/contents/{+path}", + "compare_url": "https://api.github.com/repos/sjl/.plan/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/sjl/.plan/merges", + "archive_url": "https://api.github.com/repos/sjl/.plan/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/sjl/.plan/downloads", + "issues_url": "https://api.github.com/repos/sjl/.plan/issues{/number}", + "pulls_url": "https://api.github.com/repos/sjl/.plan/pulls{/number}", + "milestones_url": "https://api.github.com/repos/sjl/.plan/milestones{/number}", + "notifications_url": "https://api.github.com/repos/sjl/.plan/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/sjl/.plan/labels{/name}", + "releases_url": "https://api.github.com/repos/sjl/.plan/releases{/id}", + "deployments_url": "https://api.github.com/repos/sjl/.plan/deployments", + "created_at": "2016-06-30T18:16:21Z", + "updated_at": "2020-07-29T01:29:20Z", + "pushed_at": "2020-07-29T01:29:18Z", + "git_url": "git://github.com/sjl/.plan.git", + "ssh_url": "git@github.com:sjl/.plan.git", + "clone_url": "https://github.com/sjl/.plan.git", + "svn_url": "https://github.com/sjl/.plan", + "homepage": "", + "size": 686, + "stargazers_count": 3, + "watchers_count": 3, + "language": null, + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": true, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "archived": false, + "disabled": false, + "open_issues_count": 0, + "license": null, + "forks": 0, + "open_issues": 0, + "watchers": 3, + "default_branch": "master" + }, + { + "id": 187937383, + "node_id": "MDEwOlJlcG9zaXRvcnkxODc5MzczODM=", + "name": "1am", + "full_name": "sjl/1am", + "private": false, + "owner": { + "login": "sjl", + "id": 58365, + "node_id": "MDQ6VXNlcjU4MzY1", + "avatar_url": "https://avatars0.githubusercontent.com/u/58365?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sjl", + "html_url": "https://github.com/sjl", + "followers_url": "https://api.github.com/users/sjl/followers", + "following_url": "https://api.github.com/users/sjl/following{/other_user}", + "gists_url": "https://api.github.com/users/sjl/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sjl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sjl/subscriptions", + "organizations_url": "https://api.github.com/users/sjl/orgs", + "repos_url": "https://api.github.com/users/sjl/repos", + "events_url": "https://api.github.com/users/sjl/events{/privacy}", + "received_events_url": "https://api.github.com/users/sjl/received_events", + "type": "User", + "site_admin": false + }, + "html_url": "https://github.com/sjl/1am", + "description": "A minimal testing framework for Common Lisp.", + "fork": true, + "url": "https://api.github.com/repos/sjl/1am", + "forks_url": "https://api.github.com/repos/sjl/1am/forks", + "keys_url": "https://api.github.com/repos/sjl/1am/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/sjl/1am/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/sjl/1am/teams", + "hooks_url": "https://api.github.com/repos/sjl/1am/hooks", + "issue_events_url": "https://api.github.com/repos/sjl/1am/issues/events{/number}", + "events_url": "https://api.github.com/repos/sjl/1am/events", + "assignees_url": "https://api.github.com/repos/sjl/1am/assignees{/user}", + "branches_url": "https://api.github.com/repos/sjl/1am/branches{/branch}", + "tags_url": "https://api.github.com/repos/sjl/1am/tags", + "blobs_url": "https://api.github.com/repos/sjl/1am/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/sjl/1am/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/sjl/1am/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/sjl/1am/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/sjl/1am/statuses/{sha}", + "languages_url": "https://api.github.com/repos/sjl/1am/languages", + "stargazers_url": "https://api.github.com/repos/sjl/1am/stargazers", + "contributors_url": "https://api.github.com/repos/sjl/1am/contributors", + "subscribers_url": "https://api.github.com/repos/sjl/1am/subscribers", + "subscription_url": "https://api.github.com/repos/sjl/1am/subscription", + "commits_url": "https://api.github.com/repos/sjl/1am/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/sjl/1am/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/sjl/1am/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/sjl/1am/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/sjl/1am/contents/{+path}", + "compare_url": "https://api.github.com/repos/sjl/1am/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/sjl/1am/merges", + "archive_url": "https://api.github.com/repos/sjl/1am/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/sjl/1am/downloads", + "issues_url": "https://api.github.com/repos/sjl/1am/issues{/number}", + "pulls_url": "https://api.github.com/repos/sjl/1am/pulls{/number}", + "milestones_url": "https://api.github.com/repos/sjl/1am/milestones{/number}", + "notifications_url": "https://api.github.com/repos/sjl/1am/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/sjl/1am/labels{/name}", + "releases_url": "https://api.github.com/repos/sjl/1am/releases{/id}", + "deployments_url": "https://api.github.com/repos/sjl/1am/deployments", + "created_at": "2019-05-22T01:07:24Z", + "updated_at": "2019-05-22T01:20:27Z", + "pushed_at": "2019-05-22T01:20:26Z", + "git_url": "git://github.com/sjl/1am.git", + "ssh_url": "git@github.com:sjl/1am.git", + "clone_url": "https://github.com/sjl/1am.git", + "svn_url": "https://github.com/sjl/1am", + "homepage": null, + "size": 5, + "stargazers_count": 0, + "watchers_count": 0, + "language": "Common Lisp", + "has_issues": false, + "has_projects": true, + "has_downloads": true, + "has_wiki": true, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "archived": false, + "disabled": false, + "open_issues_count": 0, + "license": null, + "forks": 0, + "open_issues": 0, + "watchers": 0, + "default_branch": "master" + }, + { + "id": 128150344, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjgxNTAzNDQ=", + "name": "3d-vectors", + "full_name": "sjl/3d-vectors", + "private": false, + "owner": { + "login": "sjl", + "id": 58365, + "node_id": "MDQ6VXNlcjU4MzY1", + "avatar_url": "https://avatars0.githubusercontent.com/u/58365?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sjl", + "html_url": "https://github.com/sjl", + "followers_url": "https://api.github.com/users/sjl/followers", + "following_url": "https://api.github.com/users/sjl/following{/other_user}", + "gists_url": "https://api.github.com/users/sjl/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sjl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sjl/subscriptions", + "organizations_url": "https://api.github.com/users/sjl/orgs", + "repos_url": "https://api.github.com/users/sjl/repos", + "events_url": "https://api.github.com/users/sjl/events{/privacy}", + "received_events_url": "https://api.github.com/users/sjl/received_events", + "type": "User", + "site_admin": false + }, + "html_url": "https://github.com/sjl/3d-vectors", + "description": "A library for 2D, 3D, and 4D vectors in CL.", + "fork": true, + "url": "https://api.github.com/repos/sjl/3d-vectors", + "forks_url": "https://api.github.com/repos/sjl/3d-vectors/forks", + "keys_url": "https://api.github.com/repos/sjl/3d-vectors/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/sjl/3d-vectors/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/sjl/3d-vectors/teams", + "hooks_url": "https://api.github.com/repos/sjl/3d-vectors/hooks", + "issue_events_url": "https://api.github.com/repos/sjl/3d-vectors/issues/events{/number}", + "events_url": "https://api.github.com/repos/sjl/3d-vectors/events", + "assignees_url": "https://api.github.com/repos/sjl/3d-vectors/assignees{/user}", + "branches_url": "https://api.github.com/repos/sjl/3d-vectors/branches{/branch}", + "tags_url": "https://api.github.com/repos/sjl/3d-vectors/tags", + "blobs_url": "https://api.github.com/repos/sjl/3d-vectors/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/sjl/3d-vectors/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/sjl/3d-vectors/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/sjl/3d-vectors/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/sjl/3d-vectors/statuses/{sha}", + "languages_url": "https://api.github.com/repos/sjl/3d-vectors/languages", + "stargazers_url": "https://api.github.com/repos/sjl/3d-vectors/stargazers", + "contributors_url": "https://api.github.com/repos/sjl/3d-vectors/contributors", + "subscribers_url": "https://api.github.com/repos/sjl/3d-vectors/subscribers", + "subscription_url": "https://api.github.com/repos/sjl/3d-vectors/subscription", + "commits_url": "https://api.github.com/repos/sjl/3d-vectors/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/sjl/3d-vectors/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/sjl/3d-vectors/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/sjl/3d-vectors/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/sjl/3d-vectors/contents/{+path}", + "compare_url": "https://api.github.com/repos/sjl/3d-vectors/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/sjl/3d-vectors/merges", + "archive_url": "https://api.github.com/repos/sjl/3d-vectors/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/sjl/3d-vectors/downloads", + "issues_url": "https://api.github.com/repos/sjl/3d-vectors/issues{/number}", + "pulls_url": "https://api.github.com/repos/sjl/3d-vectors/pulls{/number}", + "milestones_url": "https://api.github.com/repos/sjl/3d-vectors/milestones{/number}", + "notifications_url": "https://api.github.com/repos/sjl/3d-vectors/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/sjl/3d-vectors/labels{/name}", + "releases_url": "https://api.github.com/repos/sjl/3d-vectors/releases{/id}", + "deployments_url": "https://api.github.com/repos/sjl/3d-vectors/deployments", + "created_at": "2018-04-05T02:34:16Z", + "updated_at": "2018-04-05T02:34:18Z", + "pushed_at": "2018-04-05T06:05:14Z", + "git_url": "git://github.com/sjl/3d-vectors.git", + "ssh_url": "git@github.com:sjl/3d-vectors.git", + "clone_url": "https://github.com/sjl/3d-vectors.git", + "svn_url": "https://github.com/sjl/3d-vectors", + "homepage": "https://shinmera.github.io/3d-vectors", + "size": 153, + "stargazers_count": 0, + "watchers_count": 0, + "language": "HTML", + "has_issues": false, + "has_projects": true, + "has_downloads": true, + "has_wiki": true, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "archived": false, + "disabled": false, + "open_issues_count": 0, + "license": { + "key": "artistic-2.0", + "name": "Artistic License 2.0", + "spdx_id": "Artistic-2.0", + "url": "https://api.github.com/licenses/artistic-2.0", + "node_id": "MDc6TGljZW5zZTM=" + }, + "forks": 0, + "open_issues": 0, + "watchers": 0, + "default_branch": "master" + }, + { + "id": 158644826, + "node_id": "MDEwOlJlcG9zaXRvcnkxNTg2NDQ4MjY=", + "name": "adopt", + "full_name": "sjl/adopt", + "private": false, + "owner": { + "login": "sjl", + "id": 58365, + "node_id": "MDQ6VXNlcjU4MzY1", + "avatar_url": "https://avatars0.githubusercontent.com/u/58365?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sjl", + "html_url": "https://github.com/sjl", + "followers_url": "https://api.github.com/users/sjl/followers", + "following_url": "https://api.github.com/users/sjl/following{/other_user}", + "gists_url": "https://api.github.com/users/sjl/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sjl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sjl/subscriptions", + "organizations_url": "https://api.github.com/users/sjl/orgs", + "repos_url": "https://api.github.com/users/sjl/repos", + "events_url": "https://api.github.com/users/sjl/events{/privacy}", + "received_events_url": "https://api.github.com/users/sjl/received_events", + "type": "User", + "site_admin": false + }, + "html_url": "https://github.com/sjl/adopt", + "description": "A Damn OPTion parsing library.", + "fork": false, + "url": "https://api.github.com/repos/sjl/adopt", + "forks_url": "https://api.github.com/repos/sjl/adopt/forks", + "keys_url": "https://api.github.com/repos/sjl/adopt/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/sjl/adopt/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/sjl/adopt/teams", + "hooks_url": "https://api.github.com/repos/sjl/adopt/hooks", + "issue_events_url": "https://api.github.com/repos/sjl/adopt/issues/events{/number}", + "events_url": "https://api.github.com/repos/sjl/adopt/events", + "assignees_url": "https://api.github.com/repos/sjl/adopt/assignees{/user}", + "branches_url": "https://api.github.com/repos/sjl/adopt/branches{/branch}", + "tags_url": "https://api.github.com/repos/sjl/adopt/tags", + "blobs_url": "https://api.github.com/repos/sjl/adopt/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/sjl/adopt/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/sjl/adopt/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/sjl/adopt/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/sjl/adopt/statuses/{sha}", + "languages_url": "https://api.github.com/repos/sjl/adopt/languages", + "stargazers_url": "https://api.github.com/repos/sjl/adopt/stargazers", + "contributors_url": "https://api.github.com/repos/sjl/adopt/contributors", + "subscribers_url": "https://api.github.com/repos/sjl/adopt/subscribers", + "subscription_url": "https://api.github.com/repos/sjl/adopt/subscription", + "commits_url": "https://api.github.com/repos/sjl/adopt/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/sjl/adopt/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/sjl/adopt/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/sjl/adopt/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/sjl/adopt/contents/{+path}", + "compare_url": "https://api.github.com/repos/sjl/adopt/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/sjl/adopt/merges", + "archive_url": "https://api.github.com/repos/sjl/adopt/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/sjl/adopt/downloads", + "issues_url": "https://api.github.com/repos/sjl/adopt/issues{/number}", + "pulls_url": "https://api.github.com/repos/sjl/adopt/pulls{/number}", + "milestones_url": "https://api.github.com/repos/sjl/adopt/milestones{/number}", + "notifications_url": "https://api.github.com/repos/sjl/adopt/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/sjl/adopt/labels{/name}", + "releases_url": "https://api.github.com/repos/sjl/adopt/releases{/id}", + "deployments_url": "https://api.github.com/repos/sjl/adopt/deployments", + "created_at": "2018-11-22T05:05:01Z", + "updated_at": "2020-03-28T13:30:34Z", + "pushed_at": "2020-01-31T00:27:35Z", + "git_url": "git://github.com/sjl/adopt.git", + "ssh_url": "git@github.com:sjl/adopt.git", + "clone_url": "https://github.com/sjl/adopt.git", + "svn_url": "https://github.com/sjl/adopt", + "homepage": null, + "size": 187, + "stargazers_count": 4, + "watchers_count": 4, + "language": "Common Lisp", + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": true, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "archived": false, + "disabled": false, + "open_issues_count": 0, + "license": { + "key": "mit", + "name": "MIT License", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit", + "node_id": "MDc6TGljZW5zZTEz" + }, + "forks": 0, + "open_issues": 0, + "watchers": 4, + "default_branch": "master" + }, + { + "id": 47687651, + "node_id": "MDEwOlJlcG9zaXRvcnk0NzY4NzY1MQ==", + "name": "advent", + "full_name": "sjl/advent", + "private": false, + "owner": { + "login": "sjl", + "id": 58365, + "node_id": "MDQ6VXNlcjU4MzY1", + "avatar_url": "https://avatars0.githubusercontent.com/u/58365?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sjl", + "html_url": "https://github.com/sjl", + "followers_url": "https://api.github.com/users/sjl/followers", + "following_url": "https://api.github.com/users/sjl/following{/other_user}", + "gists_url": "https://api.github.com/users/sjl/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sjl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sjl/subscriptions", + "organizations_url": "https://api.github.com/users/sjl/orgs", + "repos_url": "https://api.github.com/users/sjl/repos", + "events_url": "https://api.github.com/users/sjl/events{/privacy}", + "received_events_url": "https://api.github.com/users/sjl/received_events", + "type": "User", + "site_admin": false + }, + "html_url": "https://github.com/sjl/advent", + "description": "Git mirror of https://bitbucket.org/sjl/advent", + "fork": false, + "url": "https://api.github.com/repos/sjl/advent", + "forks_url": "https://api.github.com/repos/sjl/advent/forks", + "keys_url": "https://api.github.com/repos/sjl/advent/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/sjl/advent/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/sjl/advent/teams", + "hooks_url": "https://api.github.com/repos/sjl/advent/hooks", + "issue_events_url": "https://api.github.com/repos/sjl/advent/issues/events{/number}", + "events_url": "https://api.github.com/repos/sjl/advent/events", + "assignees_url": "https://api.github.com/repos/sjl/advent/assignees{/user}", + "branches_url": "https://api.github.com/repos/sjl/advent/branches{/branch}", + "tags_url": "https://api.github.com/repos/sjl/advent/tags", + "blobs_url": "https://api.github.com/repos/sjl/advent/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/sjl/advent/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/sjl/advent/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/sjl/advent/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/sjl/advent/statuses/{sha}", + "languages_url": "https://api.github.com/repos/sjl/advent/languages", + "stargazers_url": "https://api.github.com/repos/sjl/advent/stargazers", + "contributors_url": "https://api.github.com/repos/sjl/advent/contributors", + "subscribers_url": "https://api.github.com/repos/sjl/advent/subscribers", + "subscription_url": "https://api.github.com/repos/sjl/advent/subscription", + "commits_url": "https://api.github.com/repos/sjl/advent/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/sjl/advent/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/sjl/advent/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/sjl/advent/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/sjl/advent/contents/{+path}", + "compare_url": "https://api.github.com/repos/sjl/advent/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/sjl/advent/merges", + "archive_url": "https://api.github.com/repos/sjl/advent/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/sjl/advent/downloads", + "issues_url": "https://api.github.com/repos/sjl/advent/issues{/number}", + "pulls_url": "https://api.github.com/repos/sjl/advent/pulls{/number}", + "milestones_url": "https://api.github.com/repos/sjl/advent/milestones{/number}", + "notifications_url": "https://api.github.com/repos/sjl/advent/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/sjl/advent/labels{/name}", + "releases_url": "https://api.github.com/repos/sjl/advent/releases{/id}", + "deployments_url": "https://api.github.com/repos/sjl/advent/deployments", + "created_at": "2015-12-09T11:37:32Z", + "updated_at": "2020-01-05T05:00:18Z", + "pushed_at": "2019-12-15T18:14:18Z", + "git_url": "git://github.com/sjl/advent.git", + "ssh_url": "git@github.com:sjl/advent.git", + "clone_url": "https://github.com/sjl/advent.git", + "svn_url": "https://github.com/sjl/advent", + "homepage": null, + "size": 636, + "stargazers_count": 3, + "watchers_count": 3, + "language": "Common Lisp", + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": true, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "archived": false, + "disabled": false, + "open_issues_count": 0, + "license": { + "key": "mit", + "name": "MIT License", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit", + "node_id": "MDc6TGljZW5zZTEz" + }, + "forks": 0, + "open_issues": 0, + "watchers": 3, + "default_branch": "master" + }, + { + "id": 24458692, + "node_id": "MDEwOlJlcG9zaXRvcnkyNDQ1ODY5Mg==", + "name": "aesahaettr", + "full_name": "sjl/aesahaettr", + "private": false, + "owner": { + "login": "sjl", + "id": 58365, + "node_id": "MDQ6VXNlcjU4MzY1", + "avatar_url": "https://avatars0.githubusercontent.com/u/58365?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sjl", + "html_url": "https://github.com/sjl", + "followers_url": "https://api.github.com/users/sjl/followers", + "following_url": "https://api.github.com/users/sjl/following{/other_user}", + "gists_url": "https://api.github.com/users/sjl/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sjl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sjl/subscriptions", + "organizations_url": "https://api.github.com/users/sjl/orgs", + "repos_url": "https://api.github.com/users/sjl/repos", + "events_url": "https://api.github.com/users/sjl/events{/privacy}", + "received_events_url": "https://api.github.com/users/sjl/received_events", + "type": "User", + "site_admin": false + }, + "html_url": "https://github.com/sjl/aesahaettr", + "description": "Sharding, partitioning, and consistent hashing for Clojure. May release spectres.", + "fork": true, + "url": "https://api.github.com/repos/sjl/aesahaettr", + "forks_url": "https://api.github.com/repos/sjl/aesahaettr/forks", + "keys_url": "https://api.github.com/repos/sjl/aesahaettr/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/sjl/aesahaettr/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/sjl/aesahaettr/teams", + "hooks_url": "https://api.github.com/repos/sjl/aesahaettr/hooks", + "issue_events_url": "https://api.github.com/repos/sjl/aesahaettr/issues/events{/number}", + "events_url": "https://api.github.com/repos/sjl/aesahaettr/events", + "assignees_url": "https://api.github.com/repos/sjl/aesahaettr/assignees{/user}", + "branches_url": "https://api.github.com/repos/sjl/aesahaettr/branches{/branch}", + "tags_url": "https://api.github.com/repos/sjl/aesahaettr/tags", + "blobs_url": "https://api.github.com/repos/sjl/aesahaettr/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/sjl/aesahaettr/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/sjl/aesahaettr/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/sjl/aesahaettr/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/sjl/aesahaettr/statuses/{sha}", + "languages_url": "https://api.github.com/repos/sjl/aesahaettr/languages", + "stargazers_url": "https://api.github.com/repos/sjl/aesahaettr/stargazers", + "contributors_url": "https://api.github.com/repos/sjl/aesahaettr/contributors", + "subscribers_url": "https://api.github.com/repos/sjl/aesahaettr/subscribers", + "subscription_url": "https://api.github.com/repos/sjl/aesahaettr/subscription", + "commits_url": "https://api.github.com/repos/sjl/aesahaettr/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/sjl/aesahaettr/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/sjl/aesahaettr/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/sjl/aesahaettr/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/sjl/aesahaettr/contents/{+path}", + "compare_url": "https://api.github.com/repos/sjl/aesahaettr/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/sjl/aesahaettr/merges", + "archive_url": "https://api.github.com/repos/sjl/aesahaettr/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/sjl/aesahaettr/downloads", + "issues_url": "https://api.github.com/repos/sjl/aesahaettr/issues{/number}", + "pulls_url": "https://api.github.com/repos/sjl/aesahaettr/pulls{/number}", + "milestones_url": "https://api.github.com/repos/sjl/aesahaettr/milestones{/number}", + "notifications_url": "https://api.github.com/repos/sjl/aesahaettr/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/sjl/aesahaettr/labels{/name}", + "releases_url": "https://api.github.com/repos/sjl/aesahaettr/releases{/id}", + "deployments_url": "https://api.github.com/repos/sjl/aesahaettr/deployments", + "created_at": "2014-09-25T13:17:54Z", + "updated_at": "2014-06-18T16:05:36Z", + "pushed_at": "2014-02-01T00:54:15Z", + "git_url": "git://github.com/sjl/aesahaettr.git", + "ssh_url": "git@github.com:sjl/aesahaettr.git", + "clone_url": "https://github.com/sjl/aesahaettr.git", + "svn_url": "https://github.com/sjl/aesahaettr", + "homepage": null, + "size": 152, + "stargazers_count": 0, + "watchers_count": 0, + "language": null, + "has_issues": false, + "has_projects": true, + "has_downloads": true, + "has_wiki": true, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "archived": false, + "disabled": false, + "open_issues_count": 0, + "license": null, + "forks": 0, + "open_issues": 0, + "watchers": 0, + "default_branch": "master" + }, + { + "id": 79345770, + "node_id": "MDEwOlJlcG9zaXRvcnk3OTM0NTc3MA==", + "name": "agdd2016", + "full_name": "sjl/agdd2016", + "private": false, + "owner": { + "login": "sjl", + "id": 58365, + "node_id": "MDQ6VXNlcjU4MzY1", + "avatar_url": "https://avatars0.githubusercontent.com/u/58365?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sjl", + "html_url": "https://github.com/sjl", + "followers_url": "https://api.github.com/users/sjl/followers", + "following_url": "https://api.github.com/users/sjl/following{/other_user}", + "gists_url": "https://api.github.com/users/sjl/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sjl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sjl/subscriptions", + "organizations_url": "https://api.github.com/users/sjl/orgs", + "repos_url": "https://api.github.com/users/sjl/repos", + "events_url": "https://api.github.com/users/sjl/events{/privacy}", + "received_events_url": "https://api.github.com/users/sjl/received_events", + "type": "User", + "site_admin": false + }, + "html_url": "https://github.com/sjl/agdd2016", + "description": "A repo for things that I make in class", + "fork": true, + "url": "https://api.github.com/repos/sjl/agdd2016", + "forks_url": "https://api.github.com/repos/sjl/agdd2016/forks", + "keys_url": "https://api.github.com/repos/sjl/agdd2016/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/sjl/agdd2016/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/sjl/agdd2016/teams", + "hooks_url": "https://api.github.com/repos/sjl/agdd2016/hooks", + "issue_events_url": "https://api.github.com/repos/sjl/agdd2016/issues/events{/number}", + "events_url": "https://api.github.com/repos/sjl/agdd2016/events", + "assignees_url": "https://api.github.com/repos/sjl/agdd2016/assignees{/user}", + "branches_url": "https://api.github.com/repos/sjl/agdd2016/branches{/branch}", + "tags_url": "https://api.github.com/repos/sjl/agdd2016/tags", + "blobs_url": "https://api.github.com/repos/sjl/agdd2016/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/sjl/agdd2016/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/sjl/agdd2016/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/sjl/agdd2016/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/sjl/agdd2016/statuses/{sha}", + "languages_url": "https://api.github.com/repos/sjl/agdd2016/languages", + "stargazers_url": "https://api.github.com/repos/sjl/agdd2016/stargazers", + "contributors_url": "https://api.github.com/repos/sjl/agdd2016/contributors", + "subscribers_url": "https://api.github.com/repos/sjl/agdd2016/subscribers", + "subscription_url": "https://api.github.com/repos/sjl/agdd2016/subscription", + "commits_url": "https://api.github.com/repos/sjl/agdd2016/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/sjl/agdd2016/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/sjl/agdd2016/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/sjl/agdd2016/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/sjl/agdd2016/contents/{+path}", + "compare_url": "https://api.github.com/repos/sjl/agdd2016/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/sjl/agdd2016/merges", + "archive_url": "https://api.github.com/repos/sjl/agdd2016/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/sjl/agdd2016/downloads", + "issues_url": "https://api.github.com/repos/sjl/agdd2016/issues{/number}", + "pulls_url": "https://api.github.com/repos/sjl/agdd2016/pulls{/number}", + "milestones_url": "https://api.github.com/repos/sjl/agdd2016/milestones{/number}", + "notifications_url": "https://api.github.com/repos/sjl/agdd2016/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/sjl/agdd2016/labels{/name}", + "releases_url": "https://api.github.com/repos/sjl/agdd2016/releases{/id}", + "deployments_url": "https://api.github.com/repos/sjl/agdd2016/deployments", + "created_at": "2017-01-18T14:06:49Z", + "updated_at": "2017-01-18T14:06:50Z", + "pushed_at": "2017-01-18T01:35:00Z", + "git_url": "git://github.com/sjl/agdd2016.git", + "ssh_url": "git@github.com:sjl/agdd2016.git", + "clone_url": "https://github.com/sjl/agdd2016.git", + "svn_url": "https://github.com/sjl/agdd2016", + "homepage": null, + "size": 124, + "stargazers_count": 0, + "watchers_count": 0, + "language": "Haxe", + "has_issues": false, + "has_projects": true, + "has_downloads": true, + "has_wiki": true, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "archived": false, + "disabled": false, + "open_issues_count": 0, + "license": null, + "forks": 0, + "open_issues": 0, + "watchers": 0, + "default_branch": "master" + }, + { + "id": 2557313, + "node_id": "MDEwOlJlcG9zaXRvcnkyNTU3MzEz", + "name": "ai-class", + "full_name": "sjl/ai-class", + "private": false, + "owner": { + "login": "sjl", + "id": 58365, + "node_id": "MDQ6VXNlcjU4MzY1", + "avatar_url": "https://avatars0.githubusercontent.com/u/58365?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sjl", + "html_url": "https://github.com/sjl", + "followers_url": "https://api.github.com/users/sjl/followers", + "following_url": "https://api.github.com/users/sjl/following{/other_user}", + "gists_url": "https://api.github.com/users/sjl/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sjl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sjl/subscriptions", + "organizations_url": "https://api.github.com/users/sjl/orgs", + "repos_url": "https://api.github.com/users/sjl/repos", + "events_url": "https://api.github.com/users/sjl/events{/privacy}", + "received_events_url": "https://api.github.com/users/sjl/received_events", + "type": "User", + "site_admin": false + }, + "html_url": "https://github.com/sjl/ai-class", + "description": "Code collection for the Stanford Online Introduction to Artificial Intelligence class", + "fork": true, + "url": "https://api.github.com/repos/sjl/ai-class", + "forks_url": "https://api.github.com/repos/sjl/ai-class/forks", + "keys_url": "https://api.github.com/repos/sjl/ai-class/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/sjl/ai-class/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/sjl/ai-class/teams", + "hooks_url": "https://api.github.com/repos/sjl/ai-class/hooks", + "issue_events_url": "https://api.github.com/repos/sjl/ai-class/issues/events{/number}", + "events_url": "https://api.github.com/repos/sjl/ai-class/events", + "assignees_url": "https://api.github.com/repos/sjl/ai-class/assignees{/user}", + "branches_url": "https://api.github.com/repos/sjl/ai-class/branches{/branch}", + "tags_url": "https://api.github.com/repos/sjl/ai-class/tags", + "blobs_url": "https://api.github.com/repos/sjl/ai-class/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/sjl/ai-class/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/sjl/ai-class/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/sjl/ai-class/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/sjl/ai-class/statuses/{sha}", + "languages_url": "https://api.github.com/repos/sjl/ai-class/languages", + "stargazers_url": "https://api.github.com/repos/sjl/ai-class/stargazers", + "contributors_url": "https://api.github.com/repos/sjl/ai-class/contributors", + "subscribers_url": "https://api.github.com/repos/sjl/ai-class/subscribers", + "subscription_url": "https://api.github.com/repos/sjl/ai-class/subscription", + "commits_url": "https://api.github.com/repos/sjl/ai-class/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/sjl/ai-class/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/sjl/ai-class/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/sjl/ai-class/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/sjl/ai-class/contents/{+path}", + "compare_url": "https://api.github.com/repos/sjl/ai-class/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/sjl/ai-class/merges", + "archive_url": "https://api.github.com/repos/sjl/ai-class/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/sjl/ai-class/downloads", + "issues_url": "https://api.github.com/repos/sjl/ai-class/issues{/number}", + "pulls_url": "https://api.github.com/repos/sjl/ai-class/pulls{/number}", + "milestones_url": "https://api.github.com/repos/sjl/ai-class/milestones{/number}", + "notifications_url": "https://api.github.com/repos/sjl/ai-class/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/sjl/ai-class/labels{/name}", + "releases_url": "https://api.github.com/repos/sjl/ai-class/releases{/id}", + "deployments_url": "https://api.github.com/repos/sjl/ai-class/deployments", + "created_at": "2011-10-11T18:35:08Z", + "updated_at": "2014-05-27T04:35:40Z", + "pushed_at": "2011-10-30T17:58:44Z", + "git_url": "git://github.com/sjl/ai-class.git", + "ssh_url": "git@github.com:sjl/ai-class.git", + "clone_url": "https://github.com/sjl/ai-class.git", + "svn_url": "https://github.com/sjl/ai-class", + "homepage": "http://www.ai-class.com/", + "size": 107, + "stargazers_count": 1, + "watchers_count": 1, + "language": "Clojure", + "has_issues": false, + "has_projects": true, + "has_downloads": true, + "has_wiki": true, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "archived": false, + "disabled": false, + "open_issues_count": 0, + "license": null, + "forks": 0, + "open_issues": 0, + "watchers": 1, + "default_branch": "master" + }, + { + "id": 1985937, + "node_id": "MDEwOlJlcG9zaXRvcnkxOTg1OTM3", + "name": "alienscript", + "full_name": "sjl/alienscript", + "private": false, + "owner": { + "login": "sjl", + "id": 58365, + "node_id": "MDQ6VXNlcjU4MzY1", + "avatar_url": "https://avatars0.githubusercontent.com/u/58365?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sjl", + "html_url": "https://github.com/sjl", + "followers_url": "https://api.github.com/users/sjl/followers", + "following_url": "https://api.github.com/users/sjl/following{/other_user}", + "gists_url": "https://api.github.com/users/sjl/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sjl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sjl/subscriptions", + "organizations_url": "https://api.github.com/users/sjl/orgs", + "repos_url": "https://api.github.com/users/sjl/repos", + "events_url": "https://api.github.com/users/sjl/events{/privacy}", + "received_events_url": "https://api.github.com/users/sjl/received_events", + "type": "User", + "site_admin": false + }, + "html_url": "https://github.com/sjl/alienscript", + "description": "Look at the wiki.", + "fork": false, + "url": "https://api.github.com/repos/sjl/alienscript", + "forks_url": "https://api.github.com/repos/sjl/alienscript/forks", + "keys_url": "https://api.github.com/repos/sjl/alienscript/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/sjl/alienscript/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/sjl/alienscript/teams", + "hooks_url": "https://api.github.com/repos/sjl/alienscript/hooks", + "issue_events_url": "https://api.github.com/repos/sjl/alienscript/issues/events{/number}", + "events_url": "https://api.github.com/repos/sjl/alienscript/events", + "assignees_url": "https://api.github.com/repos/sjl/alienscript/assignees{/user}", + "branches_url": "https://api.github.com/repos/sjl/alienscript/branches{/branch}", + "tags_url": "https://api.github.com/repos/sjl/alienscript/tags", + "blobs_url": "https://api.github.com/repos/sjl/alienscript/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/sjl/alienscript/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/sjl/alienscript/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/sjl/alienscript/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/sjl/alienscript/statuses/{sha}", + "languages_url": "https://api.github.com/repos/sjl/alienscript/languages", + "stargazers_url": "https://api.github.com/repos/sjl/alienscript/stargazers", + "contributors_url": "https://api.github.com/repos/sjl/alienscript/contributors", + "subscribers_url": "https://api.github.com/repos/sjl/alienscript/subscribers", + "subscription_url": "https://api.github.com/repos/sjl/alienscript/subscription", + "commits_url": "https://api.github.com/repos/sjl/alienscript/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/sjl/alienscript/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/sjl/alienscript/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/sjl/alienscript/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/sjl/alienscript/contents/{+path}", + "compare_url": "https://api.github.com/repos/sjl/alienscript/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/sjl/alienscript/merges", + "archive_url": "https://api.github.com/repos/sjl/alienscript/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/sjl/alienscript/downloads", + "issues_url": "https://api.github.com/repos/sjl/alienscript/issues{/number}", + "pulls_url": "https://api.github.com/repos/sjl/alienscript/pulls{/number}", + "milestones_url": "https://api.github.com/repos/sjl/alienscript/milestones{/number}", + "notifications_url": "https://api.github.com/repos/sjl/alienscript/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/sjl/alienscript/labels{/name}", + "releases_url": "https://api.github.com/repos/sjl/alienscript/releases{/id}", + "deployments_url": "https://api.github.com/repos/sjl/alienscript/deployments", + "created_at": "2011-07-01T23:35:50Z", + "updated_at": "2017-12-27T03:37:20Z", + "pushed_at": "2013-06-29T01:50:07Z", + "git_url": "git://github.com/sjl/alienscript.git", + "ssh_url": "git@github.com:sjl/alienscript.git", + "clone_url": "https://github.com/sjl/alienscript.git", + "svn_url": "https://github.com/sjl/alienscript", + "homepage": "", + "size": 108, + "stargazers_count": 5, + "watchers_count": 5, + "language": "JavaScript", + "has_issues": false, + "has_projects": true, + "has_downloads": true, + "has_wiki": true, + "has_pages": false, + "forks_count": 1, + "mirror_url": null, + "archived": false, + "disabled": false, + "open_issues_count": 0, + "license": null, + "forks": 1, + "open_issues": 0, + "watchers": 5, + "default_branch": "master" + }, + { + "id": 6479906, + "node_id": "MDEwOlJlcG9zaXRvcnk2NDc5OTA2", + "name": "AnsiEsc.vim", + "full_name": "sjl/AnsiEsc.vim", + "private": false, + "owner": { + "login": "sjl", + "id": 58365, + "node_id": "MDQ6VXNlcjU4MzY1", + "avatar_url": "https://avatars0.githubusercontent.com/u/58365?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sjl", + "html_url": "https://github.com/sjl", + "followers_url": "https://api.github.com/users/sjl/followers", + "following_url": "https://api.github.com/users/sjl/following{/other_user}", + "gists_url": "https://api.github.com/users/sjl/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sjl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sjl/subscriptions", + "organizations_url": "https://api.github.com/users/sjl/orgs", + "repos_url": "https://api.github.com/users/sjl/repos", + "events_url": "https://api.github.com/users/sjl/events{/privacy}", + "received_events_url": "https://api.github.com/users/sjl/received_events", + "type": "User", + "site_admin": false + }, + "html_url": "https://github.com/sjl/AnsiEsc.vim", + "description": "ansi escape sequences concealed, but highlighted as specified (conceal)", + "fork": true, + "url": "https://api.github.com/repos/sjl/AnsiEsc.vim", + "forks_url": "https://api.github.com/repos/sjl/AnsiEsc.vim/forks", + "keys_url": "https://api.github.com/repos/sjl/AnsiEsc.vim/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/sjl/AnsiEsc.vim/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/sjl/AnsiEsc.vim/teams", + "hooks_url": "https://api.github.com/repos/sjl/AnsiEsc.vim/hooks", + "issue_events_url": "https://api.github.com/repos/sjl/AnsiEsc.vim/issues/events{/number}", + "events_url": "https://api.github.com/repos/sjl/AnsiEsc.vim/events", + "assignees_url": "https://api.github.com/repos/sjl/AnsiEsc.vim/assignees{/user}", + "branches_url": "https://api.github.com/repos/sjl/AnsiEsc.vim/branches{/branch}", + "tags_url": "https://api.github.com/repos/sjl/AnsiEsc.vim/tags", + "blobs_url": "https://api.github.com/repos/sjl/AnsiEsc.vim/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/sjl/AnsiEsc.vim/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/sjl/AnsiEsc.vim/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/sjl/AnsiEsc.vim/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/sjl/AnsiEsc.vim/statuses/{sha}", + "languages_url": "https://api.github.com/repos/sjl/AnsiEsc.vim/languages", + "stargazers_url": "https://api.github.com/repos/sjl/AnsiEsc.vim/stargazers", + "contributors_url": "https://api.github.com/repos/sjl/AnsiEsc.vim/contributors", + "subscribers_url": "https://api.github.com/repos/sjl/AnsiEsc.vim/subscribers", + "subscription_url": "https://api.github.com/repos/sjl/AnsiEsc.vim/subscription", + "commits_url": "https://api.github.com/repos/sjl/AnsiEsc.vim/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/sjl/AnsiEsc.vim/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/sjl/AnsiEsc.vim/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/sjl/AnsiEsc.vim/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/sjl/AnsiEsc.vim/contents/{+path}", + "compare_url": "https://api.github.com/repos/sjl/AnsiEsc.vim/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/sjl/AnsiEsc.vim/merges", + "archive_url": "https://api.github.com/repos/sjl/AnsiEsc.vim/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/sjl/AnsiEsc.vim/downloads", + "issues_url": "https://api.github.com/repos/sjl/AnsiEsc.vim/issues{/number}", + "pulls_url": "https://api.github.com/repos/sjl/AnsiEsc.vim/pulls{/number}", + "milestones_url": "https://api.github.com/repos/sjl/AnsiEsc.vim/milestones{/number}", + "notifications_url": "https://api.github.com/repos/sjl/AnsiEsc.vim/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/sjl/AnsiEsc.vim/labels{/name}", + "releases_url": "https://api.github.com/repos/sjl/AnsiEsc.vim/releases{/id}", + "deployments_url": "https://api.github.com/repos/sjl/AnsiEsc.vim/deployments", + "created_at": "2012-10-31T20:02:06Z", + "updated_at": "2017-01-11T07:40:17Z", + "pushed_at": "2012-10-31T20:03:46Z", + "git_url": "git://github.com/sjl/AnsiEsc.vim.git", + "ssh_url": "git@github.com:sjl/AnsiEsc.vim.git", + "clone_url": "https://github.com/sjl/AnsiEsc.vim.git", + "svn_url": "https://github.com/sjl/AnsiEsc.vim", + "homepage": "http://www.vim.org/scripts/script.php?script_id=302", + "size": 122, + "stargazers_count": 1, + "watchers_count": 1, + "language": "VimL", + "has_issues": false, + "has_projects": true, + "has_downloads": true, + "has_wiki": false, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "archived": false, + "disabled": false, + "open_issues_count": 0, + "license": null, + "forks": 0, + "open_issues": 0, + "watchers": 1, + "default_branch": "master" + }, + { + "id": 78274436, + "node_id": "MDEwOlJlcG9zaXRvcnk3ODI3NDQzNg==", + "name": "antipodes", + "full_name": "sjl/antipodes", + "private": false, + "owner": { + "login": "sjl", + "id": 58365, + "node_id": "MDQ6VXNlcjU4MzY1", + "avatar_url": "https://avatars0.githubusercontent.com/u/58365?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sjl", + "html_url": "https://github.com/sjl", + "followers_url": "https://api.github.com/users/sjl/followers", + "following_url": "https://api.github.com/users/sjl/following{/other_user}", + "gists_url": "https://api.github.com/users/sjl/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sjl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sjl/subscriptions", + "organizations_url": "https://api.github.com/users/sjl/orgs", + "repos_url": "https://api.github.com/users/sjl/repos", + "events_url": "https://api.github.com/users/sjl/events{/privacy}", + "received_events_url": "https://api.github.com/users/sjl/received_events", + "type": "User", + "site_admin": false + }, + "html_url": "https://github.com/sjl/antipodes", + "description": "https://itch.io/jam/igi-1", + "fork": false, + "url": "https://api.github.com/repos/sjl/antipodes", + "forks_url": "https://api.github.com/repos/sjl/antipodes/forks", + "keys_url": "https://api.github.com/repos/sjl/antipodes/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/sjl/antipodes/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/sjl/antipodes/teams", + "hooks_url": "https://api.github.com/repos/sjl/antipodes/hooks", + "issue_events_url": "https://api.github.com/repos/sjl/antipodes/issues/events{/number}", + "events_url": "https://api.github.com/repos/sjl/antipodes/events", + "assignees_url": "https://api.github.com/repos/sjl/antipodes/assignees{/user}", + "branches_url": "https://api.github.com/repos/sjl/antipodes/branches{/branch}", + "tags_url": "https://api.github.com/repos/sjl/antipodes/tags", + "blobs_url": "https://api.github.com/repos/sjl/antipodes/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/sjl/antipodes/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/sjl/antipodes/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/sjl/antipodes/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/sjl/antipodes/statuses/{sha}", + "languages_url": "https://api.github.com/repos/sjl/antipodes/languages", + "stargazers_url": "https://api.github.com/repos/sjl/antipodes/stargazers", + "contributors_url": "https://api.github.com/repos/sjl/antipodes/contributors", + "subscribers_url": "https://api.github.com/repos/sjl/antipodes/subscribers", + "subscription_url": "https://api.github.com/repos/sjl/antipodes/subscription", + "commits_url": "https://api.github.com/repos/sjl/antipodes/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/sjl/antipodes/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/sjl/antipodes/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/sjl/antipodes/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/sjl/antipodes/contents/{+path}", + "compare_url": "https://api.github.com/repos/sjl/antipodes/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/sjl/antipodes/merges", + "archive_url": "https://api.github.com/repos/sjl/antipodes/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/sjl/antipodes/downloads", + "issues_url": "https://api.github.com/repos/sjl/antipodes/issues{/number}", + "pulls_url": "https://api.github.com/repos/sjl/antipodes/pulls{/number}", + "milestones_url": "https://api.github.com/repos/sjl/antipodes/milestones{/number}", + "notifications_url": "https://api.github.com/repos/sjl/antipodes/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/sjl/antipodes/labels{/name}", + "releases_url": "https://api.github.com/repos/sjl/antipodes/releases{/id}", + "deployments_url": "https://api.github.com/repos/sjl/antipodes/deployments", + "created_at": "2017-01-07T11:12:42Z", + "updated_at": "2019-04-25T19:03:54Z", + "pushed_at": "2017-01-08T16:47:58Z", + "git_url": "git://github.com/sjl/antipodes.git", + "ssh_url": "git@github.com:sjl/antipodes.git", + "clone_url": "https://github.com/sjl/antipodes.git", + "svn_url": "https://github.com/sjl/antipodes", + "homepage": null, + "size": 219, + "stargazers_count": 2, + "watchers_count": 2, + "language": "Common Lisp", + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": true, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "archived": false, + "disabled": false, + "open_issues_count": 0, + "license": null, + "forks": 0, + "open_issues": 0, + "watchers": 2, + "default_branch": "master" + }, + { + "id": 108617060, + "node_id": "MDEwOlJlcG9zaXRvcnkxMDg2MTcwNjA=", + "name": "arduino", + "full_name": "sjl/arduino", + "private": false, + "owner": { + "login": "sjl", + "id": 58365, + "node_id": "MDQ6VXNlcjU4MzY1", + "avatar_url": "https://avatars0.githubusercontent.com/u/58365?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sjl", + "html_url": "https://github.com/sjl", + "followers_url": "https://api.github.com/users/sjl/followers", + "following_url": "https://api.github.com/users/sjl/following{/other_user}", + "gists_url": "https://api.github.com/users/sjl/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sjl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sjl/subscriptions", + "organizations_url": "https://api.github.com/users/sjl/orgs", + "repos_url": "https://api.github.com/users/sjl/repos", + "events_url": "https://api.github.com/users/sjl/events{/privacy}", + "received_events_url": "https://api.github.com/users/sjl/received_events", + "type": "User", + "site_admin": false + }, + "html_url": "https://github.com/sjl/arduino", + "description": null, + "fork": false, + "url": "https://api.github.com/repos/sjl/arduino", + "forks_url": "https://api.github.com/repos/sjl/arduino/forks", + "keys_url": "https://api.github.com/repos/sjl/arduino/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/sjl/arduino/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/sjl/arduino/teams", + "hooks_url": "https://api.github.com/repos/sjl/arduino/hooks", + "issue_events_url": "https://api.github.com/repos/sjl/arduino/issues/events{/number}", + "events_url": "https://api.github.com/repos/sjl/arduino/events", + "assignees_url": "https://api.github.com/repos/sjl/arduino/assignees{/user}", + "branches_url": "https://api.github.com/repos/sjl/arduino/branches{/branch}", + "tags_url": "https://api.github.com/repos/sjl/arduino/tags", + "blobs_url": "https://api.github.com/repos/sjl/arduino/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/sjl/arduino/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/sjl/arduino/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/sjl/arduino/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/sjl/arduino/statuses/{sha}", + "languages_url": "https://api.github.com/repos/sjl/arduino/languages", + "stargazers_url": "https://api.github.com/repos/sjl/arduino/stargazers", + "contributors_url": "https://api.github.com/repos/sjl/arduino/contributors", + "subscribers_url": "https://api.github.com/repos/sjl/arduino/subscribers", + "subscription_url": "https://api.github.com/repos/sjl/arduino/subscription", + "commits_url": "https://api.github.com/repos/sjl/arduino/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/sjl/arduino/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/sjl/arduino/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/sjl/arduino/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/sjl/arduino/contents/{+path}", + "compare_url": "https://api.github.com/repos/sjl/arduino/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/sjl/arduino/merges", + "archive_url": "https://api.github.com/repos/sjl/arduino/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/sjl/arduino/downloads", + "issues_url": "https://api.github.com/repos/sjl/arduino/issues{/number}", + "pulls_url": "https://api.github.com/repos/sjl/arduino/pulls{/number}", + "milestones_url": "https://api.github.com/repos/sjl/arduino/milestones{/number}", + "notifications_url": "https://api.github.com/repos/sjl/arduino/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/sjl/arduino/labels{/name}", + "releases_url": "https://api.github.com/repos/sjl/arduino/releases{/id}", + "deployments_url": "https://api.github.com/repos/sjl/arduino/deployments", + "created_at": "2017-10-28T03:36:18Z", + "updated_at": "2018-02-14T05:33:41Z", + "pushed_at": "2018-02-14T05:33:40Z", + "git_url": "git://github.com/sjl/arduino.git", + "ssh_url": "git@github.com:sjl/arduino.git", + "clone_url": "https://github.com/sjl/arduino.git", + "svn_url": "https://github.com/sjl/arduino", + "homepage": null, + "size": 6, + "stargazers_count": 0, + "watchers_count": 0, + "language": "C++", + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": true, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "archived": false, + "disabled": false, + "open_issues_count": 0, + "license": { + "key": "mit", + "name": "MIT License", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit", + "node_id": "MDc6TGljZW5zZTEz" + }, + "forks": 0, + "open_issues": 0, + "watchers": 0, + "default_branch": "master" + }, + { + "id": 117586752, + "node_id": "MDEwOlJlcG9zaXRvcnkxMTc1ODY3NTI=", + "name": "asdf", + "full_name": "sjl/asdf", + "private": false, + "owner": { + "login": "sjl", + "id": 58365, + "node_id": "MDQ6VXNlcjU4MzY1", + "avatar_url": "https://avatars0.githubusercontent.com/u/58365?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sjl", + "html_url": "https://github.com/sjl", + "followers_url": "https://api.github.com/users/sjl/followers", + "following_url": "https://api.github.com/users/sjl/following{/other_user}", + "gists_url": "https://api.github.com/users/sjl/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sjl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sjl/subscriptions", + "organizations_url": "https://api.github.com/users/sjl/orgs", + "repos_url": "https://api.github.com/users/sjl/repos", + "events_url": "https://api.github.com/users/sjl/events{/privacy}", + "received_events_url": "https://api.github.com/users/sjl/received_events", + "type": "User", + "site_admin": false + }, + "html_url": "https://github.com/sjl/asdf", + "description": "Another System Definition Facility, de facto standard build system for CL (mirrored from Common-Lisp.net)", + "fork": true, + "url": "https://api.github.com/repos/sjl/asdf", + "forks_url": "https://api.github.com/repos/sjl/asdf/forks", + "keys_url": "https://api.github.com/repos/sjl/asdf/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/sjl/asdf/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/sjl/asdf/teams", + "hooks_url": "https://api.github.com/repos/sjl/asdf/hooks", + "issue_events_url": "https://api.github.com/repos/sjl/asdf/issues/events{/number}", + "events_url": "https://api.github.com/repos/sjl/asdf/events", + "assignees_url": "https://api.github.com/repos/sjl/asdf/assignees{/user}", + "branches_url": "https://api.github.com/repos/sjl/asdf/branches{/branch}", + "tags_url": "https://api.github.com/repos/sjl/asdf/tags", + "blobs_url": "https://api.github.com/repos/sjl/asdf/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/sjl/asdf/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/sjl/asdf/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/sjl/asdf/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/sjl/asdf/statuses/{sha}", + "languages_url": "https://api.github.com/repos/sjl/asdf/languages", + "stargazers_url": "https://api.github.com/repos/sjl/asdf/stargazers", + "contributors_url": "https://api.github.com/repos/sjl/asdf/contributors", + "subscribers_url": "https://api.github.com/repos/sjl/asdf/subscribers", + "subscription_url": "https://api.github.com/repos/sjl/asdf/subscription", + "commits_url": "https://api.github.com/repos/sjl/asdf/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/sjl/asdf/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/sjl/asdf/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/sjl/asdf/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/sjl/asdf/contents/{+path}", + "compare_url": "https://api.github.com/repos/sjl/asdf/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/sjl/asdf/merges", + "archive_url": "https://api.github.com/repos/sjl/asdf/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/sjl/asdf/downloads", + "issues_url": "https://api.github.com/repos/sjl/asdf/issues{/number}", + "pulls_url": "https://api.github.com/repos/sjl/asdf/pulls{/number}", + "milestones_url": "https://api.github.com/repos/sjl/asdf/milestones{/number}", + "notifications_url": "https://api.github.com/repos/sjl/asdf/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/sjl/asdf/labels{/name}", + "releases_url": "https://api.github.com/repos/sjl/asdf/releases{/id}", + "deployments_url": "https://api.github.com/repos/sjl/asdf/deployments", + "created_at": "2018-01-15T19:30:23Z", + "updated_at": "2018-01-15T19:30:25Z", + "pushed_at": "2018-01-07T11:33:56Z", + "git_url": "git://github.com/sjl/asdf.git", + "ssh_url": "git@github.com:sjl/asdf.git", + "clone_url": "https://github.com/sjl/asdf.git", + "svn_url": "https://github.com/sjl/asdf", + "homepage": "https://gitlab.common-lisp.net/asdf/asdf/", + "size": 7779, + "stargazers_count": 0, + "watchers_count": 0, + "language": "Common Lisp", + "has_issues": false, + "has_projects": true, + "has_downloads": true, + "has_wiki": false, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "archived": false, + "disabled": false, + "open_issues_count": 0, + "license": null, + "forks": 0, + "open_issues": 0, + "watchers": 0, + "default_branch": "master" + }, + { + "id": 3424330, + "node_id": "MDEwOlJlcG9zaXRvcnkzNDI0MzMw", + "name": "badwolf", + "full_name": "sjl/badwolf", + "private": false, + "owner": { + "login": "sjl", + "id": 58365, + "node_id": "MDQ6VXNlcjU4MzY1", + "avatar_url": "https://avatars0.githubusercontent.com/u/58365?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sjl", + "html_url": "https://github.com/sjl", + "followers_url": "https://api.github.com/users/sjl/followers", + "following_url": "https://api.github.com/users/sjl/following{/other_user}", + "gists_url": "https://api.github.com/users/sjl/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sjl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sjl/subscriptions", + "organizations_url": "https://api.github.com/users/sjl/orgs", + "repos_url": "https://api.github.com/users/sjl/repos", + "events_url": "https://api.github.com/users/sjl/events{/privacy}", + "received_events_url": "https://api.github.com/users/sjl/received_events", + "type": "User", + "site_admin": false + }, + "html_url": "https://github.com/sjl/badwolf", + "description": "A Vim color scheme.", + "fork": false, + "url": "https://api.github.com/repos/sjl/badwolf", + "forks_url": "https://api.github.com/repos/sjl/badwolf/forks", + "keys_url": "https://api.github.com/repos/sjl/badwolf/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/sjl/badwolf/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/sjl/badwolf/teams", + "hooks_url": "https://api.github.com/repos/sjl/badwolf/hooks", + "issue_events_url": "https://api.github.com/repos/sjl/badwolf/issues/events{/number}", + "events_url": "https://api.github.com/repos/sjl/badwolf/events", + "assignees_url": "https://api.github.com/repos/sjl/badwolf/assignees{/user}", + "branches_url": "https://api.github.com/repos/sjl/badwolf/branches{/branch}", + "tags_url": "https://api.github.com/repos/sjl/badwolf/tags", + "blobs_url": "https://api.github.com/repos/sjl/badwolf/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/sjl/badwolf/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/sjl/badwolf/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/sjl/badwolf/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/sjl/badwolf/statuses/{sha}", + "languages_url": "https://api.github.com/repos/sjl/badwolf/languages", + "stargazers_url": "https://api.github.com/repos/sjl/badwolf/stargazers", + "contributors_url": "https://api.github.com/repos/sjl/badwolf/contributors", + "subscribers_url": "https://api.github.com/repos/sjl/badwolf/subscribers", + "subscription_url": "https://api.github.com/repos/sjl/badwolf/subscription", + "commits_url": "https://api.github.com/repos/sjl/badwolf/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/sjl/badwolf/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/sjl/badwolf/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/sjl/badwolf/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/sjl/badwolf/contents/{+path}", + "compare_url": "https://api.github.com/repos/sjl/badwolf/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/sjl/badwolf/merges", + "archive_url": "https://api.github.com/repos/sjl/badwolf/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/sjl/badwolf/downloads", + "issues_url": "https://api.github.com/repos/sjl/badwolf/issues{/number}", + "pulls_url": "https://api.github.com/repos/sjl/badwolf/pulls{/number}", + "milestones_url": "https://api.github.com/repos/sjl/badwolf/milestones{/number}", + "notifications_url": "https://api.github.com/repos/sjl/badwolf/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/sjl/badwolf/labels{/name}", + "releases_url": "https://api.github.com/repos/sjl/badwolf/releases{/id}", + "deployments_url": "https://api.github.com/repos/sjl/badwolf/deployments", + "created_at": "2012-02-12T20:08:30Z", + "updated_at": "2020-07-27T20:40:36Z", + "pushed_at": "2020-05-01T07:04:12Z", + "git_url": "git://github.com/sjl/badwolf.git", + "ssh_url": "git@github.com:sjl/badwolf.git", + "clone_url": "https://github.com/sjl/badwolf.git", + "svn_url": "https://github.com/sjl/badwolf", + "homepage": "http://stevelosh.com/projects/badwolf/", + "size": 76, + "stargazers_count": 1122, + "watchers_count": 1122, + "language": "Vim script", + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": true, + "has_pages": false, + "forks_count": 218, + "mirror_url": null, + "archived": false, + "disabled": false, + "open_issues_count": 14, + "license": { + "key": "mit", + "name": "MIT License", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit", + "node_id": "MDc6TGljZW5zZTEz" + }, + "forks": 218, + "open_issues": 14, + "watchers": 1122, + "default_branch": "master" + }, + { + "id": 107196520, + "node_id": "MDEwOlJlcG9zaXRvcnkxMDcxOTY1MjA=", + "name": "batty", + "full_name": "sjl/batty", + "private": false, + "owner": { + "login": "sjl", + "id": 58365, + "node_id": "MDQ6VXNlcjU4MzY1", + "avatar_url": "https://avatars0.githubusercontent.com/u/58365?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sjl", + "html_url": "https://github.com/sjl", + "followers_url": "https://api.github.com/users/sjl/followers", + "following_url": "https://api.github.com/users/sjl/following{/other_user}", + "gists_url": "https://api.github.com/users/sjl/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sjl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sjl/subscriptions", + "organizations_url": "https://api.github.com/users/sjl/orgs", + "repos_url": "https://api.github.com/users/sjl/repos", + "events_url": "https://api.github.com/users/sjl/events{/privacy}", + "received_events_url": "https://api.github.com/users/sjl/received_events", + "type": "User", + "site_admin": false + }, + "html_url": "https://github.com/sjl/batty", + "description": "A 2D Batformer for the October 2017 Lisp Game Jam.", + "fork": false, + "url": "https://api.github.com/repos/sjl/batty", + "forks_url": "https://api.github.com/repos/sjl/batty/forks", + "keys_url": "https://api.github.com/repos/sjl/batty/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/sjl/batty/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/sjl/batty/teams", + "hooks_url": "https://api.github.com/repos/sjl/batty/hooks", + "issue_events_url": "https://api.github.com/repos/sjl/batty/issues/events{/number}", + "events_url": "https://api.github.com/repos/sjl/batty/events", + "assignees_url": "https://api.github.com/repos/sjl/batty/assignees{/user}", + "branches_url": "https://api.github.com/repos/sjl/batty/branches{/branch}", + "tags_url": "https://api.github.com/repos/sjl/batty/tags", + "blobs_url": "https://api.github.com/repos/sjl/batty/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/sjl/batty/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/sjl/batty/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/sjl/batty/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/sjl/batty/statuses/{sha}", + "languages_url": "https://api.github.com/repos/sjl/batty/languages", + "stargazers_url": "https://api.github.com/repos/sjl/batty/stargazers", + "contributors_url": "https://api.github.com/repos/sjl/batty/contributors", + "subscribers_url": "https://api.github.com/repos/sjl/batty/subscribers", + "subscription_url": "https://api.github.com/repos/sjl/batty/subscription", + "commits_url": "https://api.github.com/repos/sjl/batty/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/sjl/batty/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/sjl/batty/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/sjl/batty/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/sjl/batty/contents/{+path}", + "compare_url": "https://api.github.com/repos/sjl/batty/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/sjl/batty/merges", + "archive_url": "https://api.github.com/repos/sjl/batty/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/sjl/batty/downloads", + "issues_url": "https://api.github.com/repos/sjl/batty/issues{/number}", + "pulls_url": "https://api.github.com/repos/sjl/batty/pulls{/number}", + "milestones_url": "https://api.github.com/repos/sjl/batty/milestones{/number}", + "notifications_url": "https://api.github.com/repos/sjl/batty/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/sjl/batty/labels{/name}", + "releases_url": "https://api.github.com/repos/sjl/batty/releases{/id}", + "deployments_url": "https://api.github.com/repos/sjl/batty/deployments", + "created_at": "2017-10-17T00:10:03Z", + "updated_at": "2017-10-17T02:06:36Z", + "pushed_at": "2017-10-25T14:49:47Z", + "git_url": "git://github.com/sjl/batty.git", + "ssh_url": "git@github.com:sjl/batty.git", + "clone_url": "https://github.com/sjl/batty.git", + "svn_url": "https://github.com/sjl/batty", + "homepage": null, + "size": 62721, + "stargazers_count": 1, + "watchers_count": 1, + "language": "Common Lisp", + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": true, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "archived": false, + "disabled": false, + "open_issues_count": 0, + "license": { + "key": "mit", + "name": "MIT License", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit", + "node_id": "MDc6TGljZW5zZTEz" + }, + "forks": 0, + "open_issues": 0, + "watchers": 1, + "default_branch": "master" + }, + { + "id": 65260369, + "node_id": "MDEwOlJlcG9zaXRvcnk2NTI2MDM2OQ==", + "name": "beast", + "full_name": "sjl/beast", + "private": false, + "owner": { + "login": "sjl", + "id": 58365, + "node_id": "MDQ6VXNlcjU4MzY1", + "avatar_url": "https://avatars0.githubusercontent.com/u/58365?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sjl", + "html_url": "https://github.com/sjl", + "followers_url": "https://api.github.com/users/sjl/followers", + "following_url": "https://api.github.com/users/sjl/following{/other_user}", + "gists_url": "https://api.github.com/users/sjl/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sjl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sjl/subscriptions", + "organizations_url": "https://api.github.com/users/sjl/orgs", + "repos_url": "https://api.github.com/users/sjl/repos", + "events_url": "https://api.github.com/users/sjl/events{/privacy}", + "received_events_url": "https://api.github.com/users/sjl/received_events", + "type": "User", + "site_admin": false + }, + "html_url": "https://github.com/sjl/beast", + "description": "Basic Entity/Aspect/System Toolkit", + "fork": false, + "url": "https://api.github.com/repos/sjl/beast", + "forks_url": "https://api.github.com/repos/sjl/beast/forks", + "keys_url": "https://api.github.com/repos/sjl/beast/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/sjl/beast/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/sjl/beast/teams", + "hooks_url": "https://api.github.com/repos/sjl/beast/hooks", + "issue_events_url": "https://api.github.com/repos/sjl/beast/issues/events{/number}", + "events_url": "https://api.github.com/repos/sjl/beast/events", + "assignees_url": "https://api.github.com/repos/sjl/beast/assignees{/user}", + "branches_url": "https://api.github.com/repos/sjl/beast/branches{/branch}", + "tags_url": "https://api.github.com/repos/sjl/beast/tags", + "blobs_url": "https://api.github.com/repos/sjl/beast/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/sjl/beast/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/sjl/beast/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/sjl/beast/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/sjl/beast/statuses/{sha}", + "languages_url": "https://api.github.com/repos/sjl/beast/languages", + "stargazers_url": "https://api.github.com/repos/sjl/beast/stargazers", + "contributors_url": "https://api.github.com/repos/sjl/beast/contributors", + "subscribers_url": "https://api.github.com/repos/sjl/beast/subscribers", + "subscription_url": "https://api.github.com/repos/sjl/beast/subscription", + "commits_url": "https://api.github.com/repos/sjl/beast/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/sjl/beast/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/sjl/beast/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/sjl/beast/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/sjl/beast/contents/{+path}", + "compare_url": "https://api.github.com/repos/sjl/beast/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/sjl/beast/merges", + "archive_url": "https://api.github.com/repos/sjl/beast/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/sjl/beast/downloads", + "issues_url": "https://api.github.com/repos/sjl/beast/issues{/number}", + "pulls_url": "https://api.github.com/repos/sjl/beast/pulls{/number}", + "milestones_url": "https://api.github.com/repos/sjl/beast/milestones{/number}", + "notifications_url": "https://api.github.com/repos/sjl/beast/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/sjl/beast/labels{/name}", + "releases_url": "https://api.github.com/repos/sjl/beast/releases{/id}", + "deployments_url": "https://api.github.com/repos/sjl/beast/deployments", + "created_at": "2016-08-09T03:38:05Z", + "updated_at": "2020-03-31T08:34:21Z", + "pushed_at": "2020-01-15T00:51:22Z", + "git_url": "git://github.com/sjl/beast.git", + "ssh_url": "git@github.com:sjl/beast.git", + "clone_url": "https://github.com/sjl/beast.git", + "svn_url": "https://github.com/sjl/beast", + "homepage": "https://sjl.bitbucket.io/beast/", + "size": 36, + "stargazers_count": 14, + "watchers_count": 14, + "language": "Common Lisp", + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": true, + "has_pages": false, + "forks_count": 2, + "mirror_url": null, + "archived": false, + "disabled": false, + "open_issues_count": 0, + "license": { + "key": "mit", + "name": "MIT License", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit", + "node_id": "MDc6TGljZW5zZTEz" + }, + "forks": 2, + "open_issues": 0, + "watchers": 14, + "default_branch": "master" + }, + { + "id": 16869721, + "node_id": "MDEwOlJlcG9zaXRvcnkxNjg2OTcyMQ==", + "name": "beef", + "full_name": "sjl/beef", + "private": false, + "owner": { + "login": "sjl", + "id": 58365, + "node_id": "MDQ6VXNlcjU4MzY1", + "avatar_url": "https://avatars0.githubusercontent.com/u/58365?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sjl", + "html_url": "https://github.com/sjl", + "followers_url": "https://api.github.com/users/sjl/followers", + "following_url": "https://api.github.com/users/sjl/following{/other_user}", + "gists_url": "https://api.github.com/users/sjl/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sjl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sjl/subscriptions", + "organizations_url": "https://api.github.com/users/sjl/orgs", + "repos_url": "https://api.github.com/users/sjl/repos", + "events_url": "https://api.github.com/users/sjl/events{/privacy}", + "received_events_url": "https://api.github.com/users/sjl/received_events", + "type": "User", + "site_admin": false + }, + "html_url": "https://github.com/sjl/beef", + "description": "shavin beefalos in common lisp", + "fork": false, + "url": "https://api.github.com/repos/sjl/beef", + "forks_url": "https://api.github.com/repos/sjl/beef/forks", + "keys_url": "https://api.github.com/repos/sjl/beef/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/sjl/beef/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/sjl/beef/teams", + "hooks_url": "https://api.github.com/repos/sjl/beef/hooks", + "issue_events_url": "https://api.github.com/repos/sjl/beef/issues/events{/number}", + "events_url": "https://api.github.com/repos/sjl/beef/events", + "assignees_url": "https://api.github.com/repos/sjl/beef/assignees{/user}", + "branches_url": "https://api.github.com/repos/sjl/beef/branches{/branch}", + "tags_url": "https://api.github.com/repos/sjl/beef/tags", + "blobs_url": "https://api.github.com/repos/sjl/beef/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/sjl/beef/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/sjl/beef/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/sjl/beef/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/sjl/beef/statuses/{sha}", + "languages_url": "https://api.github.com/repos/sjl/beef/languages", + "stargazers_url": "https://api.github.com/repos/sjl/beef/stargazers", + "contributors_url": "https://api.github.com/repos/sjl/beef/contributors", + "subscribers_url": "https://api.github.com/repos/sjl/beef/subscribers", + "subscription_url": "https://api.github.com/repos/sjl/beef/subscription", + "commits_url": "https://api.github.com/repos/sjl/beef/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/sjl/beef/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/sjl/beef/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/sjl/beef/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/sjl/beef/contents/{+path}", + "compare_url": "https://api.github.com/repos/sjl/beef/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/sjl/beef/merges", + "archive_url": "https://api.github.com/repos/sjl/beef/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/sjl/beef/downloads", + "issues_url": "https://api.github.com/repos/sjl/beef/issues{/number}", + "pulls_url": "https://api.github.com/repos/sjl/beef/pulls{/number}", + "milestones_url": "https://api.github.com/repos/sjl/beef/milestones{/number}", + "notifications_url": "https://api.github.com/repos/sjl/beef/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/sjl/beef/labels{/name}", + "releases_url": "https://api.github.com/repos/sjl/beef/releases{/id}", + "deployments_url": "https://api.github.com/repos/sjl/beef/deployments", + "created_at": "2014-02-15T19:15:55Z", + "updated_at": "2015-12-09T14:28:20Z", + "pushed_at": "2015-12-09T14:28:20Z", + "git_url": "git://github.com/sjl/beef.git", + "ssh_url": "git@github.com:sjl/beef.git", + "clone_url": "https://github.com/sjl/beef.git", + "svn_url": "https://github.com/sjl/beef", + "homepage": null, + "size": 3, + "stargazers_count": 1, + "watchers_count": 1, + "language": "Common Lisp", + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": true, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "archived": false, + "disabled": false, + "open_issues_count": 0, + "license": null, + "forks": 0, + "open_issues": 0, + "watchers": 1, + "default_branch": "master" + }, + { + "id": 4262511, + "node_id": "MDEwOlJlcG9zaXRvcnk0MjYyNTEx", + "name": "bernhard", + "full_name": "sjl/bernhard", + "private": false, + "owner": { + "login": "sjl", + "id": 58365, + "node_id": "MDQ6VXNlcjU4MzY1", + "avatar_url": "https://avatars0.githubusercontent.com/u/58365?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sjl", + "html_url": "https://github.com/sjl", + "followers_url": "https://api.github.com/users/sjl/followers", + "following_url": "https://api.github.com/users/sjl/following{/other_user}", + "gists_url": "https://api.github.com/users/sjl/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sjl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sjl/subscriptions", + "organizations_url": "https://api.github.com/users/sjl/orgs", + "repos_url": "https://api.github.com/users/sjl/repos", + "events_url": "https://api.github.com/users/sjl/events{/privacy}", + "received_events_url": "https://api.github.com/users/sjl/received_events", + "type": "User", + "site_admin": false + }, + "html_url": "https://github.com/sjl/bernhard", + "description": "Python Riemann client.", + "fork": true, + "url": "https://api.github.com/repos/sjl/bernhard", + "forks_url": "https://api.github.com/repos/sjl/bernhard/forks", + "keys_url": "https://api.github.com/repos/sjl/bernhard/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/sjl/bernhard/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/sjl/bernhard/teams", + "hooks_url": "https://api.github.com/repos/sjl/bernhard/hooks", + "issue_events_url": "https://api.github.com/repos/sjl/bernhard/issues/events{/number}", + "events_url": "https://api.github.com/repos/sjl/bernhard/events", + "assignees_url": "https://api.github.com/repos/sjl/bernhard/assignees{/user}", + "branches_url": "https://api.github.com/repos/sjl/bernhard/branches{/branch}", + "tags_url": "https://api.github.com/repos/sjl/bernhard/tags", + "blobs_url": "https://api.github.com/repos/sjl/bernhard/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/sjl/bernhard/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/sjl/bernhard/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/sjl/bernhard/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/sjl/bernhard/statuses/{sha}", + "languages_url": "https://api.github.com/repos/sjl/bernhard/languages", + "stargazers_url": "https://api.github.com/repos/sjl/bernhard/stargazers", + "contributors_url": "https://api.github.com/repos/sjl/bernhard/contributors", + "subscribers_url": "https://api.github.com/repos/sjl/bernhard/subscribers", + "subscription_url": "https://api.github.com/repos/sjl/bernhard/subscription", + "commits_url": "https://api.github.com/repos/sjl/bernhard/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/sjl/bernhard/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/sjl/bernhard/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/sjl/bernhard/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/sjl/bernhard/contents/{+path}", + "compare_url": "https://api.github.com/repos/sjl/bernhard/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/sjl/bernhard/merges", + "archive_url": "https://api.github.com/repos/sjl/bernhard/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/sjl/bernhard/downloads", + "issues_url": "https://api.github.com/repos/sjl/bernhard/issues{/number}", + "pulls_url": "https://api.github.com/repos/sjl/bernhard/pulls{/number}", + "milestones_url": "https://api.github.com/repos/sjl/bernhard/milestones{/number}", + "notifications_url": "https://api.github.com/repos/sjl/bernhard/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/sjl/bernhard/labels{/name}", + "releases_url": "https://api.github.com/repos/sjl/bernhard/releases{/id}", + "deployments_url": "https://api.github.com/repos/sjl/bernhard/deployments", + "created_at": "2012-05-08T16:00:40Z", + "updated_at": "2014-05-27T04:35:40Z", + "pushed_at": "2012-05-02T22:55:01Z", + "git_url": "git://github.com/sjl/bernhard.git", + "ssh_url": "git@github.com:sjl/bernhard.git", + "clone_url": "https://github.com/sjl/bernhard.git", + "svn_url": "https://github.com/sjl/bernhard", + "homepage": null, + "size": 69, + "stargazers_count": 2, + "watchers_count": 2, + "language": "Python", + "has_issues": false, + "has_projects": true, + "has_downloads": true, + "has_wiki": true, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "archived": false, + "disabled": false, + "open_issues_count": 0, + "license": { + "key": "apache-2.0", + "name": "Apache License 2.0", + "spdx_id": "Apache-2.0", + "url": "https://api.github.com/licenses/apache-2.0", + "node_id": "MDc6TGljZW5zZTI=" + }, + "forks": 0, + "open_issues": 0, + "watchers": 2, + "default_branch": "master" + }, + { + "id": 135077548, + "node_id": "MDEwOlJlcG9zaXRvcnkxMzUwNzc1NDg=", + "name": "bobbin", + "full_name": "sjl/bobbin", + "private": false, + "owner": { + "login": "sjl", + "id": 58365, + "node_id": "MDQ6VXNlcjU4MzY1", + "avatar_url": "https://avatars0.githubusercontent.com/u/58365?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sjl", + "html_url": "https://github.com/sjl", + "followers_url": "https://api.github.com/users/sjl/followers", + "following_url": "https://api.github.com/users/sjl/following{/other_user}", + "gists_url": "https://api.github.com/users/sjl/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sjl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sjl/subscriptions", + "organizations_url": "https://api.github.com/users/sjl/orgs", + "repos_url": "https://api.github.com/users/sjl/repos", + "events_url": "https://api.github.com/users/sjl/events{/privacy}", + "received_events_url": "https://api.github.com/users/sjl/received_events", + "type": "User", + "site_admin": false + }, + "html_url": "https://github.com/sjl/bobbin", + "description": "Bobbin wraps strings.", + "fork": false, + "url": "https://api.github.com/repos/sjl/bobbin", + "forks_url": "https://api.github.com/repos/sjl/bobbin/forks", + "keys_url": "https://api.github.com/repos/sjl/bobbin/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/sjl/bobbin/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/sjl/bobbin/teams", + "hooks_url": "https://api.github.com/repos/sjl/bobbin/hooks", + "issue_events_url": "https://api.github.com/repos/sjl/bobbin/issues/events{/number}", + "events_url": "https://api.github.com/repos/sjl/bobbin/events", + "assignees_url": "https://api.github.com/repos/sjl/bobbin/assignees{/user}", + "branches_url": "https://api.github.com/repos/sjl/bobbin/branches{/branch}", + "tags_url": "https://api.github.com/repos/sjl/bobbin/tags", + "blobs_url": "https://api.github.com/repos/sjl/bobbin/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/sjl/bobbin/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/sjl/bobbin/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/sjl/bobbin/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/sjl/bobbin/statuses/{sha}", + "languages_url": "https://api.github.com/repos/sjl/bobbin/languages", + "stargazers_url": "https://api.github.com/repos/sjl/bobbin/stargazers", + "contributors_url": "https://api.github.com/repos/sjl/bobbin/contributors", + "subscribers_url": "https://api.github.com/repos/sjl/bobbin/subscribers", + "subscription_url": "https://api.github.com/repos/sjl/bobbin/subscription", + "commits_url": "https://api.github.com/repos/sjl/bobbin/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/sjl/bobbin/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/sjl/bobbin/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/sjl/bobbin/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/sjl/bobbin/contents/{+path}", + "compare_url": "https://api.github.com/repos/sjl/bobbin/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/sjl/bobbin/merges", + "archive_url": "https://api.github.com/repos/sjl/bobbin/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/sjl/bobbin/downloads", + "issues_url": "https://api.github.com/repos/sjl/bobbin/issues{/number}", + "pulls_url": "https://api.github.com/repos/sjl/bobbin/pulls{/number}", + "milestones_url": "https://api.github.com/repos/sjl/bobbin/milestones{/number}", + "notifications_url": "https://api.github.com/repos/sjl/bobbin/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/sjl/bobbin/labels{/name}", + "releases_url": "https://api.github.com/repos/sjl/bobbin/releases{/id}", + "deployments_url": "https://api.github.com/repos/sjl/bobbin/deployments", + "created_at": "2018-05-27T20:01:43Z", + "updated_at": "2020-01-15T01:10:19Z", + "pushed_at": "2020-01-15T01:10:17Z", + "git_url": "git://github.com/sjl/bobbin.git", + "ssh_url": "git@github.com:sjl/bobbin.git", + "clone_url": "https://github.com/sjl/bobbin.git", + "svn_url": "https://github.com/sjl/bobbin", + "homepage": null, + "size": 23, + "stargazers_count": 6, + "watchers_count": 6, + "language": "Common Lisp", + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": true, + "has_pages": false, + "forks_count": 2, + "mirror_url": null, + "archived": false, + "disabled": false, + "open_issues_count": 0, + "license": { + "key": "mit", + "name": "MIT License", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit", + "node_id": "MDc6TGljZW5zZTEz" + }, + "forks": 2, + "open_issues": 0, + "watchers": 6, + "default_branch": "master" + }, + { + "id": 56788188, + "node_id": "MDEwOlJlcG9zaXRvcnk1Njc4ODE4OA==", + "name": "bones", + "full_name": "sjl/bones", + "private": false, + "owner": { + "login": "sjl", + "id": 58365, + "node_id": "MDQ6VXNlcjU4MzY1", + "avatar_url": "https://avatars0.githubusercontent.com/u/58365?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sjl", + "html_url": "https://github.com/sjl", + "followers_url": "https://api.github.com/users/sjl/followers", + "following_url": "https://api.github.com/users/sjl/following{/other_user}", + "gists_url": "https://api.github.com/users/sjl/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sjl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sjl/subscriptions", + "organizations_url": "https://api.github.com/users/sjl/orgs", + "repos_url": "https://api.github.com/users/sjl/repos", + "events_url": "https://api.github.com/users/sjl/events{/privacy}", + "received_events_url": "https://api.github.com/users/sjl/received_events", + "type": "User", + "site_admin": false + }, + "html_url": "https://github.com/sjl/bones", + "description": "Git mirror of https://bitbucket.org/sjl/bones/", + "fork": false, + "url": "https://api.github.com/repos/sjl/bones", + "forks_url": "https://api.github.com/repos/sjl/bones/forks", + "keys_url": "https://api.github.com/repos/sjl/bones/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/sjl/bones/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/sjl/bones/teams", + "hooks_url": "https://api.github.com/repos/sjl/bones/hooks", + "issue_events_url": "https://api.github.com/repos/sjl/bones/issues/events{/number}", + "events_url": "https://api.github.com/repos/sjl/bones/events", + "assignees_url": "https://api.github.com/repos/sjl/bones/assignees{/user}", + "branches_url": "https://api.github.com/repos/sjl/bones/branches{/branch}", + "tags_url": "https://api.github.com/repos/sjl/bones/tags", + "blobs_url": "https://api.github.com/repos/sjl/bones/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/sjl/bones/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/sjl/bones/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/sjl/bones/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/sjl/bones/statuses/{sha}", + "languages_url": "https://api.github.com/repos/sjl/bones/languages", + "stargazers_url": "https://api.github.com/repos/sjl/bones/stargazers", + "contributors_url": "https://api.github.com/repos/sjl/bones/contributors", + "subscribers_url": "https://api.github.com/repos/sjl/bones/subscribers", + "subscription_url": "https://api.github.com/repos/sjl/bones/subscription", + "commits_url": "https://api.github.com/repos/sjl/bones/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/sjl/bones/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/sjl/bones/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/sjl/bones/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/sjl/bones/contents/{+path}", + "compare_url": "https://api.github.com/repos/sjl/bones/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/sjl/bones/merges", + "archive_url": "https://api.github.com/repos/sjl/bones/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/sjl/bones/downloads", + "issues_url": "https://api.github.com/repos/sjl/bones/issues{/number}", + "pulls_url": "https://api.github.com/repos/sjl/bones/pulls{/number}", + "milestones_url": "https://api.github.com/repos/sjl/bones/milestones{/number}", + "notifications_url": "https://api.github.com/repos/sjl/bones/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/sjl/bones/labels{/name}", + "releases_url": "https://api.github.com/repos/sjl/bones/releases{/id}", + "deployments_url": "https://api.github.com/repos/sjl/bones/deployments", + "created_at": "2016-04-21T16:11:15Z", + "updated_at": "2016-08-20T22:29:44Z", + "pushed_at": "2016-08-20T22:29:43Z", + "git_url": "git://github.com/sjl/bones.git", + "ssh_url": "git@github.com:sjl/bones.git", + "clone_url": "https://github.com/sjl/bones.git", + "svn_url": "https://github.com/sjl/bones", + "homepage": null, + "size": 1235, + "stargazers_count": 2, + "watchers_count": 2, + "language": null, + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": true, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "archived": false, + "disabled": false, + "open_issues_count": 0, + "license": null, + "forks": 0, + "open_issues": 0, + "watchers": 2, + "default_branch": "master" + }, + { + "id": 2529890, + "node_id": "MDEwOlJlcG9zaXRvcnkyNTI5ODkw", + "name": "bookmarkdown", + "full_name": "sjl/bookmarkdown", + "private": false, + "owner": { + "login": "sjl", + "id": 58365, + "node_id": "MDQ6VXNlcjU4MzY1", + "avatar_url": "https://avatars0.githubusercontent.com/u/58365?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sjl", + "html_url": "https://github.com/sjl", + "followers_url": "https://api.github.com/users/sjl/followers", + "following_url": "https://api.github.com/users/sjl/following{/other_user}", + "gists_url": "https://api.github.com/users/sjl/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sjl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sjl/subscriptions", + "organizations_url": "https://api.github.com/users/sjl/orgs", + "repos_url": "https://api.github.com/users/sjl/repos", + "events_url": "https://api.github.com/users/sjl/events{/privacy}", + "received_events_url": "https://api.github.com/users/sjl/received_events", + "type": "User", + "site_admin": false + }, + "html_url": "https://github.com/sjl/bookmarkdown", + "description": null, + "fork": false, + "url": "https://api.github.com/repos/sjl/bookmarkdown", + "forks_url": "https://api.github.com/repos/sjl/bookmarkdown/forks", + "keys_url": "https://api.github.com/repos/sjl/bookmarkdown/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/sjl/bookmarkdown/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/sjl/bookmarkdown/teams", + "hooks_url": "https://api.github.com/repos/sjl/bookmarkdown/hooks", + "issue_events_url": "https://api.github.com/repos/sjl/bookmarkdown/issues/events{/number}", + "events_url": "https://api.github.com/repos/sjl/bookmarkdown/events", + "assignees_url": "https://api.github.com/repos/sjl/bookmarkdown/assignees{/user}", + "branches_url": "https://api.github.com/repos/sjl/bookmarkdown/branches{/branch}", + "tags_url": "https://api.github.com/repos/sjl/bookmarkdown/tags", + "blobs_url": "https://api.github.com/repos/sjl/bookmarkdown/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/sjl/bookmarkdown/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/sjl/bookmarkdown/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/sjl/bookmarkdown/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/sjl/bookmarkdown/statuses/{sha}", + "languages_url": "https://api.github.com/repos/sjl/bookmarkdown/languages", + "stargazers_url": "https://api.github.com/repos/sjl/bookmarkdown/stargazers", + "contributors_url": "https://api.github.com/repos/sjl/bookmarkdown/contributors", + "subscribers_url": "https://api.github.com/repos/sjl/bookmarkdown/subscribers", + "subscription_url": "https://api.github.com/repos/sjl/bookmarkdown/subscription", + "commits_url": "https://api.github.com/repos/sjl/bookmarkdown/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/sjl/bookmarkdown/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/sjl/bookmarkdown/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/sjl/bookmarkdown/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/sjl/bookmarkdown/contents/{+path}", + "compare_url": "https://api.github.com/repos/sjl/bookmarkdown/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/sjl/bookmarkdown/merges", + "archive_url": "https://api.github.com/repos/sjl/bookmarkdown/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/sjl/bookmarkdown/downloads", + "issues_url": "https://api.github.com/repos/sjl/bookmarkdown/issues{/number}", + "pulls_url": "https://api.github.com/repos/sjl/bookmarkdown/pulls{/number}", + "milestones_url": "https://api.github.com/repos/sjl/bookmarkdown/milestones{/number}", + "notifications_url": "https://api.github.com/repos/sjl/bookmarkdown/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/sjl/bookmarkdown/labels{/name}", + "releases_url": "https://api.github.com/repos/sjl/bookmarkdown/releases{/id}", + "deployments_url": "https://api.github.com/repos/sjl/bookmarkdown/deployments", + "created_at": "2011-10-07T01:09:42Z", + "updated_at": "2020-05-28T06:33:30Z", + "pushed_at": "2017-08-31T16:37:17Z", + "git_url": "git://github.com/sjl/bookmarkdown.git", + "ssh_url": "git@github.com:sjl/bookmarkdown.git", + "clone_url": "https://github.com/sjl/bookmarkdown.git", + "svn_url": "https://github.com/sjl/bookmarkdown", + "homepage": "", + "size": 57, + "stargazers_count": 29, + "watchers_count": 29, + "language": "CSS", + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": true, + "has_pages": false, + "forks_count": 8, + "mirror_url": null, + "archived": false, + "disabled": false, + "open_issues_count": 1, + "license": { + "key": "mit", + "name": "MIT License", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit", + "node_id": "MDc6TGljZW5zZTEz" + }, + "forks": 8, + "open_issues": 1, + "watchers": 29, + "default_branch": "master" + }, + { + "id": 128549970, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjg1NDk5NzA=", + "name": "boots", + "full_name": "sjl/boots", + "private": false, + "owner": { + "login": "sjl", + "id": 58365, + "node_id": "MDQ6VXNlcjU4MzY1", + "avatar_url": "https://avatars0.githubusercontent.com/u/58365?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sjl", + "html_url": "https://github.com/sjl", + "followers_url": "https://api.github.com/users/sjl/followers", + "following_url": "https://api.github.com/users/sjl/following{/other_user}", + "gists_url": "https://api.github.com/users/sjl/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sjl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sjl/subscriptions", + "organizations_url": "https://api.github.com/users/sjl/orgs", + "repos_url": "https://api.github.com/users/sjl/repos", + "events_url": "https://api.github.com/users/sjl/events{/privacy}", + "received_events_url": "https://api.github.com/users/sjl/received_events", + "type": "User", + "site_admin": false + }, + "html_url": "https://github.com/sjl/boots", + "description": "A simple text UI framework, inspired by _why's Shoes.", + "fork": false, + "url": "https://api.github.com/repos/sjl/boots", + "forks_url": "https://api.github.com/repos/sjl/boots/forks", + "keys_url": "https://api.github.com/repos/sjl/boots/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/sjl/boots/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/sjl/boots/teams", + "hooks_url": "https://api.github.com/repos/sjl/boots/hooks", + "issue_events_url": "https://api.github.com/repos/sjl/boots/issues/events{/number}", + "events_url": "https://api.github.com/repos/sjl/boots/events", + "assignees_url": "https://api.github.com/repos/sjl/boots/assignees{/user}", + "branches_url": "https://api.github.com/repos/sjl/boots/branches{/branch}", + "tags_url": "https://api.github.com/repos/sjl/boots/tags", + "blobs_url": "https://api.github.com/repos/sjl/boots/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/sjl/boots/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/sjl/boots/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/sjl/boots/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/sjl/boots/statuses/{sha}", + "languages_url": "https://api.github.com/repos/sjl/boots/languages", + "stargazers_url": "https://api.github.com/repos/sjl/boots/stargazers", + "contributors_url": "https://api.github.com/repos/sjl/boots/contributors", + "subscribers_url": "https://api.github.com/repos/sjl/boots/subscribers", + "subscription_url": "https://api.github.com/repos/sjl/boots/subscription", + "commits_url": "https://api.github.com/repos/sjl/boots/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/sjl/boots/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/sjl/boots/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/sjl/boots/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/sjl/boots/contents/{+path}", + "compare_url": "https://api.github.com/repos/sjl/boots/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/sjl/boots/merges", + "archive_url": "https://api.github.com/repos/sjl/boots/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/sjl/boots/downloads", + "issues_url": "https://api.github.com/repos/sjl/boots/issues{/number}", + "pulls_url": "https://api.github.com/repos/sjl/boots/pulls{/number}", + "milestones_url": "https://api.github.com/repos/sjl/boots/milestones{/number}", + "notifications_url": "https://api.github.com/repos/sjl/boots/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/sjl/boots/labels{/name}", + "releases_url": "https://api.github.com/repos/sjl/boots/releases{/id}", + "deployments_url": "https://api.github.com/repos/sjl/boots/deployments", + "created_at": "2018-04-07T17:04:40Z", + "updated_at": "2020-05-31T22:34:53Z", + "pushed_at": "2020-05-03T21:36:48Z", + "git_url": "git://github.com/sjl/boots.git", + "ssh_url": "git@github.com:sjl/boots.git", + "clone_url": "https://github.com/sjl/boots.git", + "svn_url": "https://github.com/sjl/boots", + "homepage": null, + "size": 186, + "stargazers_count": 3, + "watchers_count": 3, + "language": "Common Lisp", + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": true, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "archived": false, + "disabled": false, + "open_issues_count": 0, + "license": { + "key": "mit", + "name": "MIT License", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit", + "node_id": "MDc6TGljZW5zZTEz" + }, + "forks": 0, + "open_issues": 0, + "watchers": 3, + "default_branch": "master" + }, + { + "id": 108600661, + "node_id": "MDEwOlJlcG9zaXRvcnkxMDg2MDA2NjE=", + "name": "bria", + "full_name": "sjl/bria", + "private": false, + "owner": { + "login": "sjl", + "id": 58365, + "node_id": "MDQ6VXNlcjU4MzY1", + "avatar_url": "https://avatars0.githubusercontent.com/u/58365?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sjl", + "html_url": "https://github.com/sjl", + "followers_url": "https://api.github.com/users/sjl/followers", + "following_url": "https://api.github.com/users/sjl/following{/other_user}", + "gists_url": "https://api.github.com/users/sjl/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sjl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sjl/subscriptions", + "organizations_url": "https://api.github.com/users/sjl/orgs", + "repos_url": "https://api.github.com/users/sjl/repos", + "events_url": "https://api.github.com/users/sjl/events{/privacy}", + "received_events_url": "https://api.github.com/users/sjl/received_events", + "type": "User", + "site_admin": false + }, + "html_url": "https://github.com/sjl/bria", + "description": "Basic, Reliable IRC Assistant", + "fork": false, + "url": "https://api.github.com/repos/sjl/bria", + "forks_url": "https://api.github.com/repos/sjl/bria/forks", + "keys_url": "https://api.github.com/repos/sjl/bria/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/sjl/bria/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/sjl/bria/teams", + "hooks_url": "https://api.github.com/repos/sjl/bria/hooks", + "issue_events_url": "https://api.github.com/repos/sjl/bria/issues/events{/number}", + "events_url": "https://api.github.com/repos/sjl/bria/events", + "assignees_url": "https://api.github.com/repos/sjl/bria/assignees{/user}", + "branches_url": "https://api.github.com/repos/sjl/bria/branches{/branch}", + "tags_url": "https://api.github.com/repos/sjl/bria/tags", + "blobs_url": "https://api.github.com/repos/sjl/bria/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/sjl/bria/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/sjl/bria/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/sjl/bria/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/sjl/bria/statuses/{sha}", + "languages_url": "https://api.github.com/repos/sjl/bria/languages", + "stargazers_url": "https://api.github.com/repos/sjl/bria/stargazers", + "contributors_url": "https://api.github.com/repos/sjl/bria/contributors", + "subscribers_url": "https://api.github.com/repos/sjl/bria/subscribers", + "subscription_url": "https://api.github.com/repos/sjl/bria/subscription", + "commits_url": "https://api.github.com/repos/sjl/bria/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/sjl/bria/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/sjl/bria/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/sjl/bria/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/sjl/bria/contents/{+path}", + "compare_url": "https://api.github.com/repos/sjl/bria/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/sjl/bria/merges", + "archive_url": "https://api.github.com/repos/sjl/bria/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/sjl/bria/downloads", + "issues_url": "https://api.github.com/repos/sjl/bria/issues{/number}", + "pulls_url": "https://api.github.com/repos/sjl/bria/pulls{/number}", + "milestones_url": "https://api.github.com/repos/sjl/bria/milestones{/number}", + "notifications_url": "https://api.github.com/repos/sjl/bria/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/sjl/bria/labels{/name}", + "releases_url": "https://api.github.com/repos/sjl/bria/releases{/id}", + "deployments_url": "https://api.github.com/repos/sjl/bria/deployments", + "created_at": "2017-10-27T22:16:26Z", + "updated_at": "2017-10-27T22:16:57Z", + "pushed_at": "2017-10-29T16:38:03Z", + "git_url": "git://github.com/sjl/bria.git", + "ssh_url": "git@github.com:sjl/bria.git", + "clone_url": "https://github.com/sjl/bria.git", + "svn_url": "https://github.com/sjl/bria", + "homepage": null, + "size": 26, + "stargazers_count": 0, + "watchers_count": 0, + "language": "Common Lisp", + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": true, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "archived": false, + "disabled": false, + "open_issues_count": 0, + "license": { + "key": "mit", + "name": "MIT License", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit", + "node_id": "MDc6TGljZW5zZTEz" + }, + "forks": 0, + "open_issues": 0, + "watchers": 0, + "default_branch": "master" + }, + { + "id": 132671296, + "node_id": "MDEwOlJlcG9zaXRvcnkxMzI2NzEyOTY=", + "name": "brows", + "full_name": "sjl/brows", + "private": false, + "owner": { + "login": "sjl", + "id": 58365, + "node_id": "MDQ6VXNlcjU4MzY1", + "avatar_url": "https://avatars0.githubusercontent.com/u/58365?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sjl", + "html_url": "https://github.com/sjl", + "followers_url": "https://api.github.com/users/sjl/followers", + "following_url": "https://api.github.com/users/sjl/following{/other_user}", + "gists_url": "https://api.github.com/users/sjl/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sjl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sjl/subscriptions", + "organizations_url": "https://api.github.com/users/sjl/orgs", + "repos_url": "https://api.github.com/users/sjl/repos", + "events_url": "https://api.github.com/users/sjl/events{/privacy}", + "received_events_url": "https://api.github.com/users/sjl/received_events", + "type": "User", + "site_admin": false + }, + "html_url": "https://github.com/sjl/brows", + "description": "urlview in common lisp", + "fork": false, + "url": "https://api.github.com/repos/sjl/brows", + "forks_url": "https://api.github.com/repos/sjl/brows/forks", + "keys_url": "https://api.github.com/repos/sjl/brows/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/sjl/brows/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/sjl/brows/teams", + "hooks_url": "https://api.github.com/repos/sjl/brows/hooks", + "issue_events_url": "https://api.github.com/repos/sjl/brows/issues/events{/number}", + "events_url": "https://api.github.com/repos/sjl/brows/events", + "assignees_url": "https://api.github.com/repos/sjl/brows/assignees{/user}", + "branches_url": "https://api.github.com/repos/sjl/brows/branches{/branch}", + "tags_url": "https://api.github.com/repos/sjl/brows/tags", + "blobs_url": "https://api.github.com/repos/sjl/brows/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/sjl/brows/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/sjl/brows/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/sjl/brows/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/sjl/brows/statuses/{sha}", + "languages_url": "https://api.github.com/repos/sjl/brows/languages", + "stargazers_url": "https://api.github.com/repos/sjl/brows/stargazers", + "contributors_url": "https://api.github.com/repos/sjl/brows/contributors", + "subscribers_url": "https://api.github.com/repos/sjl/brows/subscribers", + "subscription_url": "https://api.github.com/repos/sjl/brows/subscription", + "commits_url": "https://api.github.com/repos/sjl/brows/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/sjl/brows/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/sjl/brows/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/sjl/brows/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/sjl/brows/contents/{+path}", + "compare_url": "https://api.github.com/repos/sjl/brows/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/sjl/brows/merges", + "archive_url": "https://api.github.com/repos/sjl/brows/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/sjl/brows/downloads", + "issues_url": "https://api.github.com/repos/sjl/brows/issues{/number}", + "pulls_url": "https://api.github.com/repos/sjl/brows/pulls{/number}", + "milestones_url": "https://api.github.com/repos/sjl/brows/milestones{/number}", + "notifications_url": "https://api.github.com/repos/sjl/brows/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/sjl/brows/labels{/name}", + "releases_url": "https://api.github.com/repos/sjl/brows/releases{/id}", + "deployments_url": "https://api.github.com/repos/sjl/brows/deployments", + "created_at": "2018-05-08T22:20:14Z", + "updated_at": "2020-05-31T22:34:58Z", + "pushed_at": "2020-04-14T01:30:07Z", + "git_url": "git://github.com/sjl/brows.git", + "ssh_url": "git@github.com:sjl/brows.git", + "clone_url": "https://github.com/sjl/brows.git", + "svn_url": "https://github.com/sjl/brows", + "homepage": null, + "size": 25, + "stargazers_count": 3, + "watchers_count": 3, + "language": "Common Lisp", + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": true, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "archived": false, + "disabled": false, + "open_issues_count": 0, + "license": { + "key": "mit", + "name": "MIT License", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit", + "node_id": "MDc6TGljZW5zZTEz" + }, + "forks": 0, + "open_issues": 0, + "watchers": 3, + "default_branch": "master" + }, + { + "id": 125742277, + "node_id": "MDEwOlJlcG9zaXRvcnkxMjU3NDIyNzc=", + "name": "cacl", + "full_name": "sjl/cacl", + "private": false, + "owner": { + "login": "sjl", + "id": 58365, + "node_id": "MDQ6VXNlcjU4MzY1", + "avatar_url": "https://avatars0.githubusercontent.com/u/58365?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sjl", + "html_url": "https://github.com/sjl", + "followers_url": "https://api.github.com/users/sjl/followers", + "following_url": "https://api.github.com/users/sjl/following{/other_user}", + "gists_url": "https://api.github.com/users/sjl/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sjl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sjl/subscriptions", + "organizations_url": "https://api.github.com/users/sjl/orgs", + "repos_url": "https://api.github.com/users/sjl/repos", + "events_url": "https://api.github.com/users/sjl/events{/privacy}", + "received_events_url": "https://api.github.com/users/sjl/received_events", + "type": "User", + "site_admin": false + }, + "html_url": "https://github.com/sjl/cacl", + "description": null, + "fork": false, + "url": "https://api.github.com/repos/sjl/cacl", + "forks_url": "https://api.github.com/repos/sjl/cacl/forks", + "keys_url": "https://api.github.com/repos/sjl/cacl/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/sjl/cacl/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/sjl/cacl/teams", + "hooks_url": "https://api.github.com/repos/sjl/cacl/hooks", + "issue_events_url": "https://api.github.com/repos/sjl/cacl/issues/events{/number}", + "events_url": "https://api.github.com/repos/sjl/cacl/events", + "assignees_url": "https://api.github.com/repos/sjl/cacl/assignees{/user}", + "branches_url": "https://api.github.com/repos/sjl/cacl/branches{/branch}", + "tags_url": "https://api.github.com/repos/sjl/cacl/tags", + "blobs_url": "https://api.github.com/repos/sjl/cacl/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/sjl/cacl/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/sjl/cacl/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/sjl/cacl/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/sjl/cacl/statuses/{sha}", + "languages_url": "https://api.github.com/repos/sjl/cacl/languages", + "stargazers_url": "https://api.github.com/repos/sjl/cacl/stargazers", + "contributors_url": "https://api.github.com/repos/sjl/cacl/contributors", + "subscribers_url": "https://api.github.com/repos/sjl/cacl/subscribers", + "subscription_url": "https://api.github.com/repos/sjl/cacl/subscription", + "commits_url": "https://api.github.com/repos/sjl/cacl/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/sjl/cacl/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/sjl/cacl/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/sjl/cacl/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/sjl/cacl/contents/{+path}", + "compare_url": "https://api.github.com/repos/sjl/cacl/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/sjl/cacl/merges", + "archive_url": "https://api.github.com/repos/sjl/cacl/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/sjl/cacl/downloads", + "issues_url": "https://api.github.com/repos/sjl/cacl/issues{/number}", + "pulls_url": "https://api.github.com/repos/sjl/cacl/pulls{/number}", + "milestones_url": "https://api.github.com/repos/sjl/cacl/milestones{/number}", + "notifications_url": "https://api.github.com/repos/sjl/cacl/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/sjl/cacl/labels{/name}", + "releases_url": "https://api.github.com/repos/sjl/cacl/releases{/id}", + "deployments_url": "https://api.github.com/repos/sjl/cacl/deployments", + "created_at": "2018-03-18T15:59:13Z", + "updated_at": "2020-01-15T01:13:38Z", + "pushed_at": "2020-01-15T01:13:36Z", + "git_url": "git://github.com/sjl/cacl.git", + "ssh_url": "git@github.com:sjl/cacl.git", + "clone_url": "https://github.com/sjl/cacl.git", + "svn_url": "https://github.com/sjl/cacl", + "homepage": null, + "size": 20, + "stargazers_count": 1, + "watchers_count": 1, + "language": "Common Lisp", + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": true, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "archived": false, + "disabled": false, + "open_issues_count": 0, + "license": { + "key": "mit", + "name": "MIT License", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit", + "node_id": "MDc6TGljZW5zZTEz" + }, + "forks": 0, + "open_issues": 0, + "watchers": 1, + "default_branch": "master" + }, + { + "id": 4941641, + "node_id": "MDEwOlJlcG9zaXRvcnk0OTQxNjQx", + "name": "caves", + "full_name": "sjl/caves", + "private": false, + "owner": { + "login": "sjl", + "id": 58365, + "node_id": "MDQ6VXNlcjU4MzY1", + "avatar_url": "https://avatars0.githubusercontent.com/u/58365?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sjl", + "html_url": "https://github.com/sjl", + "followers_url": "https://api.github.com/users/sjl/followers", + "following_url": "https://api.github.com/users/sjl/following{/other_user}", + "gists_url": "https://api.github.com/users/sjl/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sjl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sjl/subscriptions", + "organizations_url": "https://api.github.com/users/sjl/orgs", + "repos_url": "https://api.github.com/users/sjl/repos", + "events_url": "https://api.github.com/users/sjl/events{/privacy}", + "received_events_url": "https://api.github.com/users/sjl/received_events", + "type": "User", + "site_admin": false + }, + "html_url": "https://github.com/sjl/caves", + "description": "The code for my Caves of Clojure series of blog posts.", + "fork": false, + "url": "https://api.github.com/repos/sjl/caves", + "forks_url": "https://api.github.com/repos/sjl/caves/forks", + "keys_url": "https://api.github.com/repos/sjl/caves/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/sjl/caves/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/sjl/caves/teams", + "hooks_url": "https://api.github.com/repos/sjl/caves/hooks", + "issue_events_url": "https://api.github.com/repos/sjl/caves/issues/events{/number}", + "events_url": "https://api.github.com/repos/sjl/caves/events", + "assignees_url": "https://api.github.com/repos/sjl/caves/assignees{/user}", + "branches_url": "https://api.github.com/repos/sjl/caves/branches{/branch}", + "tags_url": "https://api.github.com/repos/sjl/caves/tags", + "blobs_url": "https://api.github.com/repos/sjl/caves/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/sjl/caves/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/sjl/caves/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/sjl/caves/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/sjl/caves/statuses/{sha}", + "languages_url": "https://api.github.com/repos/sjl/caves/languages", + "stargazers_url": "https://api.github.com/repos/sjl/caves/stargazers", + "contributors_url": "https://api.github.com/repos/sjl/caves/contributors", + "subscribers_url": "https://api.github.com/repos/sjl/caves/subscribers", + "subscription_url": "https://api.github.com/repos/sjl/caves/subscription", + "commits_url": "https://api.github.com/repos/sjl/caves/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/sjl/caves/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/sjl/caves/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/sjl/caves/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/sjl/caves/contents/{+path}", + "compare_url": "https://api.github.com/repos/sjl/caves/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/sjl/caves/merges", + "archive_url": "https://api.github.com/repos/sjl/caves/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/sjl/caves/downloads", + "issues_url": "https://api.github.com/repos/sjl/caves/issues{/number}", + "pulls_url": "https://api.github.com/repos/sjl/caves/pulls{/number}", + "milestones_url": "https://api.github.com/repos/sjl/caves/milestones{/number}", + "notifications_url": "https://api.github.com/repos/sjl/caves/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/sjl/caves/labels{/name}", + "releases_url": "https://api.github.com/repos/sjl/caves/releases{/id}", + "deployments_url": "https://api.github.com/repos/sjl/caves/deployments", + "created_at": "2012-07-07T21:56:34Z", + "updated_at": "2020-06-17T20:07:40Z", + "pushed_at": "2012-10-13T20:30:29Z", + "git_url": "git://github.com/sjl/caves.git", + "ssh_url": "git@github.com:sjl/caves.git", + "clone_url": "https://github.com/sjl/caves.git", + "svn_url": "https://github.com/sjl/caves", + "homepage": "http://stevelosh.com/blog/2012/07/caves-of-clojure-01/", + "size": 173, + "stargazers_count": 152, + "watchers_count": 152, + "language": "Clojure", + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": true, + "has_pages": false, + "forks_count": 20, + "mirror_url": null, + "archived": false, + "disabled": false, + "open_issues_count": 0, + "license": null, + "forks": 20, + "open_issues": 0, + "watchers": 152, + "default_branch": "master" + }, + { + "id": 223779345, + "node_id": "MDEwOlJlcG9zaXRvcnkyMjM3NzkzNDU=", + "name": "ccl", + "full_name": "sjl/ccl", + "private": false, + "owner": { + "login": "sjl", + "id": 58365, + "node_id": "MDQ6VXNlcjU4MzY1", + "avatar_url": "https://avatars0.githubusercontent.com/u/58365?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sjl", + "html_url": "https://github.com/sjl", + "followers_url": "https://api.github.com/users/sjl/followers", + "following_url": "https://api.github.com/users/sjl/following{/other_user}", + "gists_url": "https://api.github.com/users/sjl/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sjl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sjl/subscriptions", + "organizations_url": "https://api.github.com/users/sjl/orgs", + "repos_url": "https://api.github.com/users/sjl/repos", + "events_url": "https://api.github.com/users/sjl/events{/privacy}", + "received_events_url": "https://api.github.com/users/sjl/received_events", + "type": "User", + "site_admin": false + }, + "html_url": "https://github.com/sjl/ccl", + "description": "Clozure Common Lisp", + "fork": true, + "url": "https://api.github.com/repos/sjl/ccl", + "forks_url": "https://api.github.com/repos/sjl/ccl/forks", + "keys_url": "https://api.github.com/repos/sjl/ccl/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/sjl/ccl/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/sjl/ccl/teams", + "hooks_url": "https://api.github.com/repos/sjl/ccl/hooks", + "issue_events_url": "https://api.github.com/repos/sjl/ccl/issues/events{/number}", + "events_url": "https://api.github.com/repos/sjl/ccl/events", + "assignees_url": "https://api.github.com/repos/sjl/ccl/assignees{/user}", + "branches_url": "https://api.github.com/repos/sjl/ccl/branches{/branch}", + "tags_url": "https://api.github.com/repos/sjl/ccl/tags", + "blobs_url": "https://api.github.com/repos/sjl/ccl/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/sjl/ccl/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/sjl/ccl/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/sjl/ccl/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/sjl/ccl/statuses/{sha}", + "languages_url": "https://api.github.com/repos/sjl/ccl/languages", + "stargazers_url": "https://api.github.com/repos/sjl/ccl/stargazers", + "contributors_url": "https://api.github.com/repos/sjl/ccl/contributors", + "subscribers_url": "https://api.github.com/repos/sjl/ccl/subscribers", + "subscription_url": "https://api.github.com/repos/sjl/ccl/subscription", + "commits_url": "https://api.github.com/repos/sjl/ccl/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/sjl/ccl/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/sjl/ccl/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/sjl/ccl/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/sjl/ccl/contents/{+path}", + "compare_url": "https://api.github.com/repos/sjl/ccl/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/sjl/ccl/merges", + "archive_url": "https://api.github.com/repos/sjl/ccl/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/sjl/ccl/downloads", + "issues_url": "https://api.github.com/repos/sjl/ccl/issues{/number}", + "pulls_url": "https://api.github.com/repos/sjl/ccl/pulls{/number}", + "milestones_url": "https://api.github.com/repos/sjl/ccl/milestones{/number}", + "notifications_url": "https://api.github.com/repos/sjl/ccl/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/sjl/ccl/labels{/name}", + "releases_url": "https://api.github.com/repos/sjl/ccl/releases{/id}", + "deployments_url": "https://api.github.com/repos/sjl/ccl/deployments", + "created_at": "2019-11-24T17:03:54Z", + "updated_at": "2019-11-24T17:03:56Z", + "pushed_at": "2019-11-24T17:28:02Z", + "git_url": "git://github.com/sjl/ccl.git", + "ssh_url": "git@github.com:sjl/ccl.git", + "clone_url": "https://github.com/sjl/ccl.git", + "svn_url": "https://github.com/sjl/ccl", + "homepage": "http://ccl.clozure.com/", + "size": 45448, + "stargazers_count": 0, + "watchers_count": 0, + "language": null, + "has_issues": false, + "has_projects": true, + "has_downloads": true, + "has_wiki": true, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "archived": false, + "disabled": false, + "open_issues_count": 0, + "license": { + "key": "apache-2.0", + "name": "Apache License 2.0", + "spdx_id": "Apache-2.0", + "url": "https://api.github.com/licenses/apache-2.0", + "node_id": "MDc6TGljZW5zZTI=" + }, + "forks": 0, + "open_issues": 0, + "watchers": 0, + "default_branch": "master" + }, + { + "id": 223782929, + "node_id": "MDEwOlJlcG9zaXRvcnkyMjM3ODI5Mjk=", + "name": "ccl-tests", + "full_name": "sjl/ccl-tests", + "private": false, + "owner": { + "login": "sjl", + "id": 58365, + "node_id": "MDQ6VXNlcjU4MzY1", + "avatar_url": "https://avatars0.githubusercontent.com/u/58365?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sjl", + "html_url": "https://github.com/sjl", + "followers_url": "https://api.github.com/users/sjl/followers", + "following_url": "https://api.github.com/users/sjl/following{/other_user}", + "gists_url": "https://api.github.com/users/sjl/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sjl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sjl/subscriptions", + "organizations_url": "https://api.github.com/users/sjl/orgs", + "repos_url": "https://api.github.com/users/sjl/repos", + "events_url": "https://api.github.com/users/sjl/events{/privacy}", + "received_events_url": "https://api.github.com/users/sjl/received_events", + "type": "User", + "site_admin": false + }, + "html_url": "https://github.com/sjl/ccl-tests", + "description": "Tests for Clozure CL", + "fork": true, + "url": "https://api.github.com/repos/sjl/ccl-tests", + "forks_url": "https://api.github.com/repos/sjl/ccl-tests/forks", + "keys_url": "https://api.github.com/repos/sjl/ccl-tests/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/sjl/ccl-tests/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/sjl/ccl-tests/teams", + "hooks_url": "https://api.github.com/repos/sjl/ccl-tests/hooks", + "issue_events_url": "https://api.github.com/repos/sjl/ccl-tests/issues/events{/number}", + "events_url": "https://api.github.com/repos/sjl/ccl-tests/events", + "assignees_url": "https://api.github.com/repos/sjl/ccl-tests/assignees{/user}", + "branches_url": "https://api.github.com/repos/sjl/ccl-tests/branches{/branch}", + "tags_url": "https://api.github.com/repos/sjl/ccl-tests/tags", + "blobs_url": "https://api.github.com/repos/sjl/ccl-tests/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/sjl/ccl-tests/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/sjl/ccl-tests/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/sjl/ccl-tests/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/sjl/ccl-tests/statuses/{sha}", + "languages_url": "https://api.github.com/repos/sjl/ccl-tests/languages", + "stargazers_url": "https://api.github.com/repos/sjl/ccl-tests/stargazers", + "contributors_url": "https://api.github.com/repos/sjl/ccl-tests/contributors", + "subscribers_url": "https://api.github.com/repos/sjl/ccl-tests/subscribers", + "subscription_url": "https://api.github.com/repos/sjl/ccl-tests/subscription", + "commits_url": "https://api.github.com/repos/sjl/ccl-tests/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/sjl/ccl-tests/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/sjl/ccl-tests/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/sjl/ccl-tests/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/sjl/ccl-tests/contents/{+path}", + "compare_url": "https://api.github.com/repos/sjl/ccl-tests/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/sjl/ccl-tests/merges", + "archive_url": "https://api.github.com/repos/sjl/ccl-tests/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/sjl/ccl-tests/downloads", + "issues_url": "https://api.github.com/repos/sjl/ccl-tests/issues{/number}", + "pulls_url": "https://api.github.com/repos/sjl/ccl-tests/pulls{/number}", + "milestones_url": "https://api.github.com/repos/sjl/ccl-tests/milestones{/number}", + "notifications_url": "https://api.github.com/repos/sjl/ccl-tests/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/sjl/ccl-tests/labels{/name}", + "releases_url": "https://api.github.com/repos/sjl/ccl-tests/releases{/id}", + "deployments_url": "https://api.github.com/repos/sjl/ccl-tests/deployments", + "created_at": "2019-11-24T17:29:50Z", + "updated_at": "2019-11-24T17:29:51Z", + "pushed_at": "2019-11-24T17:31:33Z", + "git_url": "git://github.com/sjl/ccl-tests.git", + "ssh_url": "git@github.com:sjl/ccl-tests.git", + "clone_url": "https://github.com/sjl/ccl-tests.git", + "svn_url": "https://github.com/sjl/ccl-tests", + "homepage": "", + "size": 1145, + "stargazers_count": 0, + "watchers_count": 0, + "language": null, + "has_issues": false, + "has_projects": true, + "has_downloads": true, + "has_wiki": true, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "archived": false, + "disabled": false, + "open_issues_count": 0, + "license": null, + "forks": 0, + "open_issues": 0, + "watchers": 0, + "default_branch": "master" + }, + { + "id": 66941075, + "node_id": "MDEwOlJlcG9zaXRvcnk2Njk0MTA3NQ==", + "name": "cffi", + "full_name": "sjl/cffi", + "private": false, + "owner": { + "login": "sjl", + "id": 58365, + "node_id": "MDQ6VXNlcjU4MzY1", + "avatar_url": "https://avatars0.githubusercontent.com/u/58365?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sjl", + "html_url": "https://github.com/sjl", + "followers_url": "https://api.github.com/users/sjl/followers", + "following_url": "https://api.github.com/users/sjl/following{/other_user}", + "gists_url": "https://api.github.com/users/sjl/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sjl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sjl/subscriptions", + "organizations_url": "https://api.github.com/users/sjl/orgs", + "repos_url": "https://api.github.com/users/sjl/repos", + "events_url": "https://api.github.com/users/sjl/events{/privacy}", + "received_events_url": "https://api.github.com/users/sjl/received_events", + "type": "User", + "site_admin": false + }, + "html_url": "https://github.com/sjl/cffi", + "description": "The Common Foreign Function Interface", + "fork": true, + "url": "https://api.github.com/repos/sjl/cffi", + "forks_url": "https://api.github.com/repos/sjl/cffi/forks", + "keys_url": "https://api.github.com/repos/sjl/cffi/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/sjl/cffi/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/sjl/cffi/teams", + "hooks_url": "https://api.github.com/repos/sjl/cffi/hooks", + "issue_events_url": "https://api.github.com/repos/sjl/cffi/issues/events{/number}", + "events_url": "https://api.github.com/repos/sjl/cffi/events", + "assignees_url": "https://api.github.com/repos/sjl/cffi/assignees{/user}", + "branches_url": "https://api.github.com/repos/sjl/cffi/branches{/branch}", + "tags_url": "https://api.github.com/repos/sjl/cffi/tags", + "blobs_url": "https://api.github.com/repos/sjl/cffi/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/sjl/cffi/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/sjl/cffi/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/sjl/cffi/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/sjl/cffi/statuses/{sha}", + "languages_url": "https://api.github.com/repos/sjl/cffi/languages", + "stargazers_url": "https://api.github.com/repos/sjl/cffi/stargazers", + "contributors_url": "https://api.github.com/repos/sjl/cffi/contributors", + "subscribers_url": "https://api.github.com/repos/sjl/cffi/subscribers", + "subscription_url": "https://api.github.com/repos/sjl/cffi/subscription", + "commits_url": "https://api.github.com/repos/sjl/cffi/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/sjl/cffi/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/sjl/cffi/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/sjl/cffi/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/sjl/cffi/contents/{+path}", + "compare_url": "https://api.github.com/repos/sjl/cffi/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/sjl/cffi/merges", + "archive_url": "https://api.github.com/repos/sjl/cffi/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/sjl/cffi/downloads", + "issues_url": "https://api.github.com/repos/sjl/cffi/issues{/number}", + "pulls_url": "https://api.github.com/repos/sjl/cffi/pulls{/number}", + "milestones_url": "https://api.github.com/repos/sjl/cffi/milestones{/number}", + "notifications_url": "https://api.github.com/repos/sjl/cffi/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/sjl/cffi/labels{/name}", + "releases_url": "https://api.github.com/repos/sjl/cffi/releases{/id}", + "deployments_url": "https://api.github.com/repos/sjl/cffi/deployments", + "created_at": "2016-08-30T13:03:55Z", + "updated_at": "2016-08-30T13:03:56Z", + "pushed_at": "2016-08-30T13:07:08Z", + "git_url": "git://github.com/sjl/cffi.git", + "ssh_url": "git@github.com:sjl/cffi.git", + "clone_url": "https://github.com/sjl/cffi.git", + "svn_url": "https://github.com/sjl/cffi", + "homepage": "http://common-lisp.net/project/cffi", + "size": 2412, + "stargazers_count": 0, + "watchers_count": 0, + "language": "Common Lisp", + "has_issues": false, + "has_projects": true, + "has_downloads": true, + "has_wiki": true, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "archived": false, + "disabled": false, + "open_issues_count": 0, + "license": { + "key": "mit", + "name": "MIT License", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit", + "node_id": "MDc6TGljZW5zZTEz" + }, + "forks": 0, + "open_issues": 0, + "watchers": 0, + "default_branch": "master" + }, + { + "id": 78659651, + "node_id": "MDEwOlJlcG9zaXRvcnk3ODY1OTY1MQ==", + "name": "chancery", + "full_name": "sjl/chancery", + "private": false, + "owner": { + "login": "sjl", + "id": 58365, + "node_id": "MDQ6VXNlcjU4MzY1", + "avatar_url": "https://avatars0.githubusercontent.com/u/58365?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sjl", + "html_url": "https://github.com/sjl", + "followers_url": "https://api.github.com/users/sjl/followers", + "following_url": "https://api.github.com/users/sjl/following{/other_user}", + "gists_url": "https://api.github.com/users/sjl/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sjl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sjl/subscriptions", + "organizations_url": "https://api.github.com/users/sjl/orgs", + "repos_url": "https://api.github.com/users/sjl/repos", + "events_url": "https://api.github.com/users/sjl/events{/privacy}", + "received_events_url": "https://api.github.com/users/sjl/received_events", + "type": "User", + "site_admin": false + }, + "html_url": "https://github.com/sjl/chancery", + "description": "A text and data generation library for Common Lisp, inspired by Tracery.", + "fork": false, + "url": "https://api.github.com/repos/sjl/chancery", + "forks_url": "https://api.github.com/repos/sjl/chancery/forks", + "keys_url": "https://api.github.com/repos/sjl/chancery/keys{/key_id}", + "collaborators_url": "https://api.github.com/repos/sjl/chancery/collaborators{/collaborator}", + "teams_url": "https://api.github.com/repos/sjl/chancery/teams", + "hooks_url": "https://api.github.com/repos/sjl/chancery/hooks", + "issue_events_url": "https://api.github.com/repos/sjl/chancery/issues/events{/number}", + "events_url": "https://api.github.com/repos/sjl/chancery/events", + "assignees_url": "https://api.github.com/repos/sjl/chancery/assignees{/user}", + "branches_url": "https://api.github.com/repos/sjl/chancery/branches{/branch}", + "tags_url": "https://api.github.com/repos/sjl/chancery/tags", + "blobs_url": "https://api.github.com/repos/sjl/chancery/git/blobs{/sha}", + "git_tags_url": "https://api.github.com/repos/sjl/chancery/git/tags{/sha}", + "git_refs_url": "https://api.github.com/repos/sjl/chancery/git/refs{/sha}", + "trees_url": "https://api.github.com/repos/sjl/chancery/git/trees{/sha}", + "statuses_url": "https://api.github.com/repos/sjl/chancery/statuses/{sha}", + "languages_url": "https://api.github.com/repos/sjl/chancery/languages", + "stargazers_url": "https://api.github.com/repos/sjl/chancery/stargazers", + "contributors_url": "https://api.github.com/repos/sjl/chancery/contributors", + "subscribers_url": "https://api.github.com/repos/sjl/chancery/subscribers", + "subscription_url": "https://api.github.com/repos/sjl/chancery/subscription", + "commits_url": "https://api.github.com/repos/sjl/chancery/commits{/sha}", + "git_commits_url": "https://api.github.com/repos/sjl/chancery/git/commits{/sha}", + "comments_url": "https://api.github.com/repos/sjl/chancery/comments{/number}", + "issue_comment_url": "https://api.github.com/repos/sjl/chancery/issues/comments{/number}", + "contents_url": "https://api.github.com/repos/sjl/chancery/contents/{+path}", + "compare_url": "https://api.github.com/repos/sjl/chancery/compare/{base}...{head}", + "merges_url": "https://api.github.com/repos/sjl/chancery/merges", + "archive_url": "https://api.github.com/repos/sjl/chancery/{archive_format}{/ref}", + "downloads_url": "https://api.github.com/repos/sjl/chancery/downloads", + "issues_url": "https://api.github.com/repos/sjl/chancery/issues{/number}", + "pulls_url": "https://api.github.com/repos/sjl/chancery/pulls{/number}", + "milestones_url": "https://api.github.com/repos/sjl/chancery/milestones{/number}", + "notifications_url": "https://api.github.com/repos/sjl/chancery/notifications{?since,all,participating}", + "labels_url": "https://api.github.com/repos/sjl/chancery/labels{/name}", + "releases_url": "https://api.github.com/repos/sjl/chancery/releases{/id}", + "deployments_url": "https://api.github.com/repos/sjl/chancery/deployments", + "created_at": "2017-01-11T16:55:30Z", + "updated_at": "2020-01-15T00:52:05Z", + "pushed_at": "2020-01-15T00:52:03Z", + "git_url": "git://github.com/sjl/chancery.git", + "ssh_url": "git@github.com:sjl/chancery.git", + "clone_url": "https://github.com/sjl/chancery.git", + "svn_url": "https://github.com/sjl/chancery", + "homepage": "", + "size": 48, + "stargazers_count": 4, + "watchers_count": 4, + "language": "Common Lisp", + "has_issues": true, + "has_projects": true, + "has_downloads": true, + "has_wiki": true, + "has_pages": false, + "forks_count": 0, + "mirror_url": null, + "archived": false, + "disabled": false, + "open_issues_count": 0, + "license": { + "key": "mit", + "name": "MIT License", + "spdx_id": "MIT", + "url": "https://api.github.com/licenses/mit", + "node_id": "MDc6TGljZW5zZTEz" + }, + "forks": 0, + "open_issues": 0, + "watchers": 4, + "default_branch": "master" + } +] diff -r 88008e9aeac3 -r 52f9e9c8aa31 test/data/github/sjl.json --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/data/github/sjl.json Tue Aug 11 23:09:18 2020 -0400 @@ -0,0 +1,34 @@ +{ + "login": "sjl", + "id": 58365, + "node_id": "MDQ6VXNlcjU4MzY1", + "avatar_url": "https://avatars0.githubusercontent.com/u/58365?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/sjl", + "html_url": "https://github.com/sjl", + "followers_url": "https://api.github.com/users/sjl/followers", + "following_url": "https://api.github.com/users/sjl/following{/other_user}", + "gists_url": "https://api.github.com/users/sjl/gists{/gist_id}", + "starred_url": "https://api.github.com/users/sjl/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/sjl/subscriptions", + "organizations_url": "https://api.github.com/users/sjl/orgs", + "repos_url": "https://api.github.com/users/sjl/repos", + "events_url": "https://api.github.com/users/sjl/events{/privacy}", + "received_events_url": "https://api.github.com/users/sjl/received_events", + "type": "User", + "site_admin": false, + "name": "Steve Losh", + "company": null, + "blog": "http://stevelosh.com", + "location": "Rochester, NY", + "email": null, + "hireable": null, + "bio": "Move slow and make things.", + "twitter_username": null, + "public_repos": 182, + "public_gists": 134, + "followers": 2038, + "following": 10, + "created_at": "2009-02-26T21:20:05Z", + "updated_at": "2020-06-06T23:16:20Z" +} diff -r 88008e9aeac3 -r 52f9e9c8aa31 test/data/reddit/r-common_lisp.json --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/data/reddit/r-common_lisp.json Tue Aug 11 23:09:18 2020 -0400 @@ -0,0 +1,1 @@ +{"kind": "Listing", "data": {"modhash": "", "dist": 26, "children": [{"kind": "t3", "data": {"approved_at_utc": null, "subreddit": "Common_Lisp", "selftext": "Hi all,\n\nEarlier this month I [posted](https://www.reddit.com/r/Common_Lisp/comments/f0jrnv/state_of_common_lisp/) to inquire about interest in a survey of Common Lisp for 2020. I received positive feedback regarding the idea, with minimal feedback on the questions (someone did track down my personal email address to discuss further!)\n\n[Here](https://forms.gle/Gr1i8NP9m2eLJeYR6) is the link to the Common Lisp survey for 2020 I have put together. I would like to keep the survey open for 2 weeks (is more time needed?), and will make the results available. Feel free to reach out below, or PM me if you have any feedback. Again, thank you for your participation!\n\nEDIT: This survey has been closed. Thank you to all who completed it. I will post a follow up reflection of the results. Thank you again!", "author_fullname": "t2_24920", "saved": false, "mod_reason_title": null, "gilded": 0, "clicked": false, "title": "State of Common Lisp Survey 2020", "link_flair_richtext": [], "subreddit_name_prefixed": "r/Common_Lisp", "hidden": false, "pwls": null, "link_flair_css_class": null, "downs": 0, "top_awarded_type": null, "hide_score": false, "name": "t3_f8wqkj", "quarantine": false, "link_flair_text_color": "dark", "upvote_ratio": 0.99, "author_flair_background_color": null, "subreddit_type": "public", "ups": 78, "total_awards_received": 0, "media_embed": {}, "author_flair_template_id": null, "is_original_content": false, "user_reports": [], "secure_media": null, "is_reddit_media_domain": false, "is_meta": false, "category": null, "secure_media_embed": {}, "link_flair_text": null, "can_mod_post": false, "score": 78, "approved_by": null, "author_premium": false, "thumbnail": "", "edited": 1583896114.0, "author_flair_css_class": null, "author_flair_richtext": [], "gildings": {}, "content_categories": null, "is_self": true, "mod_note": null, "created": 1582601870.0, "link_flair_type": "text", "wls": null, "removed_by_category": null, "banned_by": null, "author_flair_type": "text", "domain": "self.Common_Lisp", "allow_live_comments": false, "selftext_html": "<!-- SC_OFF --><div class=\"md\"><p>Hi all,</p>\n\n<p>Earlier this month I <a href=\"https://www.reddit.com/r/Common_Lisp/comments/f0jrnv/state_of_common_lisp/\">posted</a> to inquire about interest in a survey of Common Lisp for 2020. I received positive feedback regarding the idea, with minimal feedback on the questions (someone did track down my personal email address to discuss further!)</p>\n\n<p><a href=\"https://forms.gle/Gr1i8NP9m2eLJeYR6\">Here</a> is the link to the Common Lisp survey for 2020 I have put together. I would like to keep the survey open for 2 weeks (is more time needed?), and will make the results available. Feel free to reach out below, or PM me if you have any feedback. Again, thank you for your participation!</p>\n\n<p>EDIT: This survey has been closed. Thank you to all who completed it. I will post a follow up reflection of the results. Thank you again!</p>\n</div><!-- SC_ON -->", "likes": null, "suggested_sort": null, "banned_at_utc": null, "view_count": null, "archived": false, "no_follow": false, "is_crosspostable": false, "pinned": false, "over_18": false, "all_awardings": [], "awarders": [], "media_only": false, "can_gild": false, "spoiler": false, "locked": false, "author_flair_text": null, "treatment_tags": [], "visited": false, "removed_by": null, "num_reports": null, "distinguished": null, "subreddit_id": "t5_2qi41", "mod_reason_by": null, "removal_reason": null, "link_flair_background_color": "", "id": "f8wqkj", "is_robot_indexable": true, "report_reasons": null, "author": "developernotes", "discussion_type": null, "num_comments": 37, "send_replies": true, "whitelist_status": null, "contest_mode": false, "mod_reports": [], "author_patreon_flair": false, "author_flair_text_color": null, "permalink": "/r/Common_Lisp/comments/f8wqkj/state_of_common_lisp_survey_2020/", "parent_whitelist_status": null, "stickied": true, "url": "https://www.reddit.com/r/Common_Lisp/comments/f8wqkj/state_of_common_lisp_survey_2020/", "subreddit_subscribers": 4314, "created_utc": 1582573070.0, "num_crossposts": 0, "media": null, "is_video": false}}, {"kind": "t3", "data": {"approved_at_utc": null, "subreddit": "Common_Lisp", "selftext": "", "author_fullname": "t2_j6dwn", "saved": false, "mod_reason_title": null, "gilded": 0, "clicked": false, "title": "bgutter/cl-phonetic - A phonetic pattern matching library for Common Lisp.", "link_flair_richtext": [], "subreddit_name_prefixed": "r/Common_Lisp", "hidden": false, "pwls": null, "link_flair_css_class": null, "downs": 0, "top_awarded_type": null, "hide_score": false, "name": "t3_hzcwsx", "quarantine": false, "link_flair_text_color": "dark", "upvote_ratio": 1.0, "author_flair_background_color": null, "subreddit_type": "public", "ups": 19, "total_awards_received": 0, "media_embed": {}, "author_flair_template_id": null, "is_original_content": false, "user_reports": [], "secure_media": null, "is_reddit_media_domain": false, "is_meta": false, "category": null, "secure_media_embed": {}, "link_flair_text": null, "can_mod_post": false, "score": 19, "approved_by": null, "author_premium": false, "thumbnail": "", "edited": false, "author_flair_css_class": null, "author_flair_richtext": [], "gildings": {}, "content_categories": null, "is_self": false, "mod_note": null, "created": 1595964098.0, "link_flair_type": "text", "wls": null, "removed_by_category": null, "banned_by": null, "author_flair_type": "text", "domain": "github.com", "allow_live_comments": false, "selftext_html": null, "likes": null, "suggested_sort": null, "banned_at_utc": null, "url_overridden_by_dest": "https://github.com/bgutter/cl-phonetic", "view_count": null, "archived": false, "no_follow": false, "is_crosspostable": false, "pinned": false, "over_18": false, "all_awardings": [], "awarders": [], "media_only": false, "can_gild": false, "spoiler": false, "locked": false, "author_flair_text": null, "treatment_tags": [], "visited": false, "removed_by": null, "num_reports": null, "distinguished": null, "subreddit_id": "t5_2qi41", "mod_reason_by": null, "removal_reason": null, "link_flair_background_color": "", "id": "hzcwsx", "is_robot_indexable": true, "report_reasons": null, "author": "dzecniv", "discussion_type": null, "num_comments": 2, "send_replies": true, "whitelist_status": null, "contest_mode": false, "mod_reports": [], "author_patreon_flair": false, "author_flair_text_color": null, "permalink": "/r/Common_Lisp/comments/hzcwsx/bgutterclphonetic_a_phonetic_pattern_matching/", "parent_whitelist_status": null, "stickied": false, "url": "https://github.com/bgutter/cl-phonetic", "subreddit_subscribers": 4314, "created_utc": 1595935298.0, "num_crossposts": 0, "media": null, "is_video": false}}, {"kind": "t3", "data": {"approved_at_utc": null, "subreddit": "Common_Lisp", "selftext": "Greetings lispers.\n\nGoogle has re-opened source cl-protobufs.\n\nIt is in active developement, we are currently working on completeing proto3 syntax.\n\n[https://github.com/qitab/cl-protobufs](https://github.com/qitab/cl-protobufs)\n\nI know it currently loads and all tests pass with sbcl and ccl, It should work with abcl.\n\nWe've fixed a lot of the underlying bugs, dramatically improved the serialization and deserialization time, and made it completely implement the proto2 spec. Ben has implemented map and oneof.\n\nI plan on replacing the current cl-protobufs that Google released 5 ish years ago on quicklisp, but we will keep the old version on Gitlab. I wanted to warn/ see if anyone is using the gitlab version of cl-protobufs?\n\n[https://gitlab.common-lisp.net/qitab/cl-protobufs](https://gitlab.common-lisp.net/qitab/cl-protobufs)\n\nThe only downside is you have to run protoc on your .proto files, but one option is to run it once and then use the translated .lisp files produced by protoc instead.", "author_fullname": "t2_11ea1o", "saved": false, "mod_reason_title": null, "gilded": 0, "clicked": false, "title": "cl-protobufs [x-post with /lisp]", "link_flair_richtext": [], "subreddit_name_prefixed": "r/Common_Lisp", "hidden": false, "pwls": null, "link_flair_css_class": null, "downs": 0, "top_awarded_type": null, "hide_score": false, "name": "t3_hz2rjx", "quarantine": false, "link_flair_text_color": "dark", "upvote_ratio": 1.0, "author_flair_background_color": null, "subreddit_type": "public", "ups": 14, "total_awards_received": 0, "media_embed": {}, "author_flair_template_id": null, "is_original_content": false, "user_reports": [], "secure_media": null, "is_reddit_media_domain": false, "is_meta": false, "category": null, "secure_media_embed": {}, "link_flair_text": null, "can_mod_post": false, "score": 14, "approved_by": null, "author_premium": false, "thumbnail": "", "edited": false, "author_flair_css_class": null, "author_flair_richtext": [], "gildings": {}, "content_categories": null, "is_self": true, "mod_note": null, "created": 1595918958.0, "link_flair_type": "text", "wls": null, "removed_by_category": null, "banned_by": null, "author_flair_type": "text", "domain": "self.Common_Lisp", "allow_live_comments": false, "selftext_html": "<!-- SC_OFF --><div class=\"md\"><p>Greetings lispers.</p>\n\n<p>Google has re-opened source cl-protobufs.</p>\n\n<p>It is in active developement, we are currently working on completeing proto3 syntax.</p>\n\n<p><a href=\"https://github.com/qitab/cl-protobufs\">https://github.com/qitab/cl-protobufs</a></p>\n\n<p>I know it currently loads and all tests pass with sbcl and ccl, It should work with abcl.</p>\n\n<p>We&#39;ve fixed a lot of the underlying bugs, dramatically improved the serialization and deserialization time, and made it completely implement the proto2 spec. Ben has implemented map and oneof.</p>\n\n<p>I plan on replacing the current cl-protobufs that Google released 5 ish years ago on quicklisp, but we will keep the old version on Gitlab. I wanted to warn/ see if anyone is using the gitlab version of cl-protobufs?</p>\n\n<p><a href=\"https://gitlab.common-lisp.net/qitab/cl-protobufs\">https://gitlab.common-lisp.net/qitab/cl-protobufs</a></p>\n\n<p>The only downside is you have to run protoc on your .proto files, but one option is to run it once and then use the translated .lisp files produced by protoc instead.</p>\n</div><!-- SC_ON -->", "likes": null, "suggested_sort": null, "banned_at_utc": null, "view_count": null, "archived": false, "no_follow": false, "is_crosspostable": false, "pinned": false, "over_18": false, "all_awardings": [], "awarders": [], "media_only": false, "can_gild": false, "spoiler": false, "locked": false, "author_flair_text": null, "treatment_tags": [], "visited": false, "removed_by": null, "num_reports": null, "distinguished": null, "subreddit_id": "t5_2qi41", "mod_reason_by": null, "removal_reason": null, "link_flair_background_color": "", "id": "hz2rjx", "is_robot_indexable": true, "report_reasons": null, "author": "jgodbo", "discussion_type": null, "num_comments": 2, "send_replies": true, "whitelist_status": null, "contest_mode": false, "mod_reports": [], "author_patreon_flair": false, "author_flair_text_color": null, "permalink": "/r/Common_Lisp/comments/hz2rjx/clprotobufs_xpost_with_lisp/", "parent_whitelist_status": null, "stickied": false, "url": "https://www.reddit.com/r/Common_Lisp/comments/hz2rjx/clprotobufs_xpost_with_lisp/", "subreddit_subscribers": 4314, "created_utc": 1595890158.0, "num_crossposts": 0, "media": null, "is_video": false}}, {"kind": "t3", "data": {"approved_at_utc": null, "subreddit": "Common_Lisp", "selftext": "I tried to find full zookeeper support for Common Lisp and couldn't find any. If I am not missing something I am planning to post a bounty to implement it. How much work do you guys think it will take?", "author_fullname": "t2_16q9gbma", "saved": false, "mod_reason_title": null, "gilded": 0, "clicked": false, "title": "Common Lisp Zookeeper support", "link_flair_richtext": [], "subreddit_name_prefixed": "r/Common_Lisp", "hidden": false, "pwls": null, "link_flair_css_class": null, "downs": 0, "top_awarded_type": null, "hide_score": false, "name": "t3_hyz1rj", "quarantine": false, "link_flair_text_color": "dark", "upvote_ratio": 1.0, "author_flair_background_color": null, "subreddit_type": "public", "ups": 7, "total_awards_received": 0, "media_embed": {}, "author_flair_template_id": null, "is_original_content": false, "user_reports": [], "secure_media": null, "is_reddit_media_domain": false, "is_meta": false, "category": null, "secure_media_embed": {}, "link_flair_text": null, "can_mod_post": false, "score": 7, "approved_by": null, "author_premium": false, "thumbnail": "", "edited": false, "author_flair_css_class": null, "author_flair_richtext": [], "gildings": {}, "content_categories": null, "is_self": true, "mod_note": null, "created": 1595906991.0, "link_flair_type": "text", "wls": null, "removed_by_category": null, "banned_by": null, "author_flair_type": "text", "domain": "self.Common_Lisp", "allow_live_comments": false, "selftext_html": "<!-- SC_OFF --><div class=\"md\"><p>I tried to find full zookeeper support for Common Lisp and couldn&#39;t find any. If I am not missing something I am planning to post a bounty to implement it. How much work do you guys think it will take?</p>\n</div><!-- SC_ON -->", "likes": null, "suggested_sort": null, "banned_at_utc": null, "view_count": null, "archived": false, "no_follow": true, "is_crosspostable": false, "pinned": false, "over_18": false, "all_awardings": [], "awarders": [], "media_only": false, "can_gild": false, "spoiler": false, "locked": false, "author_flair_text": null, "treatment_tags": [], "visited": false, "removed_by": null, "num_reports": null, "distinguished": null, "subreddit_id": "t5_2qi41", "mod_reason_by": null, "removal_reason": null, "link_flair_background_color": "", "id": "hyz1rj", "is_robot_indexable": true, "report_reasons": null, "author": "zu1us", "discussion_type": null, "num_comments": 1, "send_replies": true, "whitelist_status": null, "contest_mode": false, "mod_reports": [], "author_patreon_flair": false, "author_flair_text_color": null, "permalink": "/r/Common_Lisp/comments/hyz1rj/common_lisp_zookeeper_support/", "parent_whitelist_status": null, "stickied": false, "url": "https://www.reddit.com/r/Common_Lisp/comments/hyz1rj/common_lisp_zookeeper_support/", "subreddit_subscribers": 4314, "created_utc": 1595878191.0, "num_crossposts": 1, "media": null, "is_video": false}}, {"kind": "t3", "data": {"approved_at_utc": null, "subreddit": "Common_Lisp", "selftext": "I had a coworker of mine say that OOP in lisp languages is less expressive then \u201cnormal\u201d (non lisp) languages because they don\u2019t have a different syntax for methods. In a non-lisp languages you have `func(args)` for functions and `object.method(args)` for methods. In lisp you only have `(func args)`. This means you can\u2019t implement something like a polymorphic print or overload the `+` operator. You have to pick names for your methods that don\u2019t conflict with functions or namespace them.\n\nIs my coworkers assessment fair or are there practical ways that CLOS works around this?", "author_fullname": "t2_z9rto", "saved": false, "mod_reason_title": null, "gilded": 0, "clicked": false, "title": "OOP in Common Lisp less expressive?", "link_flair_richtext": [], "subreddit_name_prefixed": "r/Common_Lisp", "hidden": false, "pwls": null, "link_flair_css_class": null, "downs": 0, "top_awarded_type": null, "hide_score": false, "name": "t3_hy8y63", "quarantine": false, "link_flair_text_color": "dark", "upvote_ratio": 0.69, "author_flair_background_color": null, "subreddit_type": "public", "ups": 5, "total_awards_received": 0, "media_embed": {}, "author_flair_template_id": null, "is_original_content": false, "user_reports": [], "secure_media": null, "is_reddit_media_domain": false, "is_meta": false, "category": null, "secure_media_embed": {}, "link_flair_text": null, "can_mod_post": false, "score": 5, "approved_by": null, "author_premium": false, "thumbnail": "", "edited": false, "author_flair_css_class": null, "author_flair_richtext": [], "gildings": {}, "content_categories": null, "is_self": true, "mod_note": null, "created": 1595806614.0, "link_flair_type": "text", "wls": null, "removed_by_category": null, "banned_by": null, "author_flair_type": "text", "domain": "self.Common_Lisp", "allow_live_comments": false, "selftext_html": "<!-- SC_OFF --><div class=\"md\"><p>I had a coworker of mine say that OOP in lisp languages is less expressive then \u201cnormal\u201d (non lisp) languages because they don\u2019t have a different syntax for methods. In a non-lisp languages you have <code>func(args)</code> for functions and <code>object.method(args)</code> for methods. In lisp you only have <code>(func args)</code>. This means you can\u2019t implement something like a polymorphic print or overload the <code>+</code> operator. You have to pick names for your methods that don\u2019t conflict with functions or namespace them.</p>\n\n<p>Is my coworkers assessment fair or are there practical ways that CLOS works around this?</p>\n</div><!-- SC_ON -->", "likes": null, "suggested_sort": null, "banned_at_utc": null, "view_count": null, "archived": false, "no_follow": false, "is_crosspostable": false, "pinned": false, "over_18": false, "all_awardings": [], "awarders": [], "media_only": false, "can_gild": false, "spoiler": false, "locked": false, "author_flair_text": null, "treatment_tags": [], "visited": false, "removed_by": null, "num_reports": null, "distinguished": null, "subreddit_id": "t5_2qi41", "mod_reason_by": null, "removal_reason": null, "link_flair_background_color": "", "id": "hy8y63", "is_robot_indexable": true, "report_reasons": null, "author": "celeritasCelery", "discussion_type": null, "num_comments": 19, "send_replies": true, "whitelist_status": null, "contest_mode": false, "mod_reports": [], "author_patreon_flair": false, "author_flair_text_color": null, "permalink": "/r/Common_Lisp/comments/hy8y63/oop_in_common_lisp_less_expressive/", "parent_whitelist_status": null, "stickied": false, "url": "https://www.reddit.com/r/Common_Lisp/comments/hy8y63/oop_in_common_lisp_less_expressive/", "subreddit_subscribers": 4314, "created_utc": 1595777814.0, "num_crossposts": 0, "media": null, "is_video": false}}, {"kind": "t3", "data": {"approved_at_utc": null, "subreddit": "Common_Lisp", "selftext": "FWIW: For newbies to CL.\n\nI was struggling to install cl-async library using quicklisp. Ran into various errors.\n\nFortunately I stumbled upon this [https://github.com/ceramic/ceramic/issues/50#issuecomment-347022936](https://github.com/ceramic/ceramic/issues/50#issuecomment-347022936). So I installed libuv1-dev as well. Then I was able to install cl-async.\n\nI don't know if this is the proper way of correcting the error, but it seems to have worked. I have not yet played around with cl-async, so I don't know what happens next, but at least (ql:quickload \"cl-async\") does not throw any error.\n\nI don't know if this can be generalized. For example, if a library xyz is a requirement for a CL library, and if quicklisp-install fails, try installing xyz-dev as well. \n\nSummary:\n\nIf you want to install cl-async/cl-libuv; in addition to installing libuv, you may also need to install libuv1-dev. And that might work.", "author_fullname": "t2_5haau9gl", "saved": false, "mod_reason_title": null, "gilded": 0, "clicked": false, "title": "Possible Useful Information (for Newbies)", "link_flair_richtext": [], "subreddit_name_prefixed": "r/Common_Lisp", "hidden": false, "pwls": null, "link_flair_css_class": null, "downs": 0, "top_awarded_type": null, "hide_score": false, "name": "t3_hxrqap", "quarantine": false, "link_flair_text_color": "dark", "upvote_ratio": 0.91, "author_flair_background_color": null, "subreddit_type": "public", "ups": 9, "total_awards_received": 0, "media_embed": {}, "author_flair_template_id": null, "is_original_content": false, "user_reports": [], "secure_media": null, "is_reddit_media_domain": false, "is_meta": false, "category": null, "secure_media_embed": {}, "link_flair_text": null, "can_mod_post": false, "score": 9, "approved_by": null, "author_premium": false, "thumbnail": "", "edited": false, "author_flair_css_class": null, "author_flair_richtext": [], "gildings": {}, "content_categories": null, "is_self": true, "mod_note": null, "created": 1595731042.0, "link_flair_type": "text", "wls": null, "removed_by_category": null, "banned_by": null, "author_flair_type": "text", "domain": "self.Common_Lisp", "allow_live_comments": false, "selftext_html": "<!-- SC_OFF --><div class=\"md\"><p>FWIW: For newbies to CL.</p>\n\n<p>I was struggling to install cl-async library using quicklisp. Ran into various errors.</p>\n\n<p>Fortunately I stumbled upon this <a href=\"https://github.com/ceramic/ceramic/issues/50#issuecomment-347022936\">https://github.com/ceramic/ceramic/issues/50#issuecomment-347022936</a>. So I installed libuv1-dev as well. Then I was able to install cl-async.</p>\n\n<p>I don&#39;t know if this is the proper way of correcting the error, but it seems to have worked. I have not yet played around with cl-async, so I don&#39;t know what happens next, but at least (ql:quickload &quot;cl-async&quot;) does not throw any error.</p>\n\n<p>I don&#39;t know if this can be generalized. For example, if a library xyz is a requirement for a CL library, and if quicklisp-install fails, try installing xyz-dev as well. </p>\n\n<p>Summary:</p>\n\n<p>If you want to install cl-async/cl-libuv; in addition to installing libuv, you may also need to install libuv1-dev. And that might work.</p>\n</div><!-- SC_ON -->", "likes": null, "suggested_sort": null, "banned_at_utc": null, "view_count": null, "archived": false, "no_follow": false, "is_crosspostable": false, "pinned": false, "over_18": false, "all_awardings": [], "awarders": [], "media_only": false, "can_gild": false, "spoiler": false, "locked": false, "author_flair_text": null, "treatment_tags": [], "visited": false, "removed_by": null, "num_reports": null, "distinguished": null, "subreddit_id": "t5_2qi41", "mod_reason_by": null, "removal_reason": null, "link_flair_background_color": "", "id": "hxrqap", "is_robot_indexable": true, "report_reasons": null, "author": "polymath-in", "discussion_type": null, "num_comments": 8, "send_replies": true, "whitelist_status": null, "contest_mode": false, "mod_reports": [], "author_patreon_flair": false, "author_flair_text_color": null, "permalink": "/r/Common_Lisp/comments/hxrqap/possible_useful_information_for_newbies/", "parent_whitelist_status": null, "stickied": false, "url": "https://www.reddit.com/r/Common_Lisp/comments/hxrqap/possible_useful_information_for_newbies/", "subreddit_subscribers": 4314, "created_utc": 1595702242.0, "num_crossposts": 0, "media": null, "is_video": false}}, {"kind": "t3", "data": {"approved_at_utc": null, "subreddit": "Common_Lisp", "selftext": "How can I easily evaluate a form in the REPL (SBCL/slime) and either inhibit entirely printing the output value of the form, or maybe limit the output to something reasonably long.\n\nE.g.\n\nCL-USER> (loop for i below 1000000 collect i)\n\nwill now output a million-entry list to the REPL (I suppose, at any rate it does for very long lists). Moreover, once it is output to the \\*slime-repl\\* buffer, the output cannot be deleted from the REPL in any way I can see.\n\nAs long as I am asking REPL questions, does SBCL have an easy way to number input prompts?", "author_fullname": "t2_5outz", "saved": false, "mod_reason_title": null, "gilded": 0, "clicked": false, "title": "Inhibit printing in the repl?", "link_flair_richtext": [], "subreddit_name_prefixed": "r/Common_Lisp", "hidden": false, "pwls": null, "link_flair_css_class": null, "downs": 0, "top_awarded_type": null, "hide_score": false, "name": "t3_hxj196", "quarantine": false, "link_flair_text_color": "dark", "upvote_ratio": 0.81, "author_flair_background_color": null, "subreddit_type": "public", "ups": 3, "total_awards_received": 0, "media_embed": {}, "author_flair_template_id": null, "is_original_content": false, "user_reports": [], "secure_media": null, "is_reddit_media_domain": false, "is_meta": false, "category": null, "secure_media_embed": {}, "link_flair_text": null, "can_mod_post": false, "score": 3, "approved_by": null, "author_premium": false, "thumbnail": "", "edited": false, "author_flair_css_class": null, "author_flair_richtext": [], "gildings": {}, "content_categories": null, "is_self": true, "mod_note": null, "created": 1595692413.0, "link_flair_type": "text", "wls": null, "removed_by_category": null, "banned_by": null, "author_flair_type": "text", "domain": "self.Common_Lisp", "allow_live_comments": false, "selftext_html": "<!-- SC_OFF --><div class=\"md\"><p>How can I easily evaluate a form in the REPL (SBCL/slime) and either inhibit entirely printing the output value of the form, or maybe limit the output to something reasonably long.</p>\n\n<p>E.g.</p>\n\n<p>CL-USER&gt; (loop for i below 1000000 collect i)</p>\n\n<p>will now output a million-entry list to the REPL (I suppose, at any rate it does for very long lists). Moreover, once it is output to the *slime-repl* buffer, the output cannot be deleted from the REPL in any way I can see.</p>\n\n<p>As long as I am asking REPL questions, does SBCL have an easy way to number input prompts?</p>\n</div><!-- SC_ON -->", "likes": null, "suggested_sort": null, "banned_at_utc": null, "view_count": null, "archived": false, "no_follow": false, "is_crosspostable": false, "pinned": false, "over_18": false, "all_awardings": [], "awarders": [], "media_only": false, "can_gild": false, "spoiler": false, "locked": false, "author_flair_text": null, "treatment_tags": [], "visited": false, "removed_by": null, "num_reports": null, "distinguished": null, "subreddit_id": "t5_2qi41", "mod_reason_by": null, "removal_reason": null, "link_flair_background_color": "", "id": "hxj196", "is_robot_indexable": true, "report_reasons": null, "author": "kendradog", "discussion_type": null, "num_comments": 9, "send_replies": true, "whitelist_status": null, "contest_mode": false, "mod_reports": [], "author_patreon_flair": false, "author_flair_text_color": null, "permalink": "/r/Common_Lisp/comments/hxj196/inhibit_printing_in_the_repl/", "parent_whitelist_status": null, "stickied": false, "url": "https://www.reddit.com/r/Common_Lisp/comments/hxj196/inhibit_printing_in_the_repl/", "subreddit_subscribers": 4314, "created_utc": 1595663613.0, "num_crossposts": 0, "media": null, "is_video": false}}, {"kind": "t3", "data": {"approved_at_utc": null, "subreddit": "Common_Lisp", "selftext": "", "author_fullname": "t2_24eol", "saved": false, "mod_reason_title": null, "gilded": 0, "clicked": false, "title": "Automated Program Transformations, using the ACL2 theorem prover", "link_flair_richtext": [], "subreddit_name_prefixed": "r/Common_Lisp", "hidden": false, "pwls": null, "link_flair_css_class": null, "downs": 0, "top_awarded_type": null, "hide_score": false, "name": "t3_hx5eqy", "quarantine": false, "link_flair_text_color": "dark", "upvote_ratio": 0.94, "author_flair_background_color": null, "subreddit_type": "public", "ups": 12, "total_awards_received": 0, "media_embed": {}, "author_flair_template_id": null, "is_original_content": false, "user_reports": [], "secure_media": null, "is_reddit_media_domain": false, "is_meta": false, "category": null, "secure_media_embed": {}, "link_flair_text": null, "can_mod_post": false, "score": 12, "approved_by": null, "author_premium": false, "thumbnail": "", "edited": false, "author_flair_css_class": null, "author_flair_richtext": [], "gildings": {}, "content_categories": null, "is_self": false, "mod_note": null, "created": 1595638510.0, "link_flair_type": "text", "wls": null, "removed_by_category": null, "banned_by": null, "author_flair_type": "text", "domain": "kestrel.edu", "allow_live_comments": false, "selftext_html": null, "likes": null, "suggested_sort": null, "banned_at_utc": null, "url_overridden_by_dest": "https://www.kestrel.edu/research/apt/", "view_count": null, "archived": false, "no_follow": false, "is_crosspostable": false, "pinned": false, "over_18": false, "all_awardings": [], "awarders": [], "media_only": false, "can_gild": false, "spoiler": false, "locked": false, "author_flair_text": null, "treatment_tags": [], "visited": false, "removed_by": null, "num_reports": null, "distinguished": null, "subreddit_id": "t5_2qi41", "mod_reason_by": null, "removal_reason": null, "link_flair_background_color": "", "id": "hx5eqy", "is_robot_indexable": true, "report_reasons": null, "author": "lispm", "discussion_type": null, "num_comments": 1, "send_replies": true, "whitelist_status": null, "contest_mode": false, "mod_reports": [], "author_patreon_flair": false, "author_flair_text_color": null, "permalink": "/r/Common_Lisp/comments/hx5eqy/automated_program_transformations_using_the_acl2/", "parent_whitelist_status": null, "stickied": false, "url": "https://www.kestrel.edu/research/apt/", "subreddit_subscribers": 4314, "created_utc": 1595609710.0, "num_crossposts": 0, "media": null, "is_video": false}}, {"kind": "t3", "data": {"approved_at_utc": null, "subreddit": "Common_Lisp", "selftext": "", "author_fullname": "t2_j6dwn", "saved": false, "mod_reason_title": null, "gilded": 0, "clicked": false, "title": "cl-aristid - Draw Lindenmayer Systems with Common LISP! (describe plant growth)", "link_flair_richtext": [], "subreddit_name_prefixed": "r/Common_Lisp", "hidden": false, "pwls": null, "link_flair_css_class": null, "downs": 0, "top_awarded_type": null, "hide_score": false, "name": "t3_hwzm0m", "quarantine": false, "link_flair_text_color": "dark", "upvote_ratio": 0.85, "author_flair_background_color": null, "subreddit_type": "public", "ups": 17, "total_awards_received": 0, "media_embed": {}, "author_flair_template_id": null, "is_original_content": false, "user_reports": [], "secure_media": null, "is_reddit_media_domain": false, "is_meta": false, "category": null, "secure_media_embed": {}, "link_flair_text": null, "can_mod_post": false, "score": 17, "approved_by": null, "author_premium": false, "thumbnail": "", "edited": false, "author_flair_css_class": null, "author_flair_richtext": [], "gildings": {}, "content_categories": null, "is_self": false, "mod_note": null, "created": 1595616522.0, "link_flair_type": "text", "wls": null, "removed_by_category": null, "banned_by": null, "author_flair_type": "text", "domain": "github.com", "allow_live_comments": false, "selftext_html": null, "likes": null, "suggested_sort": null, "banned_at_utc": null, "url_overridden_by_dest": "https://github.com/FdelMazo/cl-aristid/", "view_count": null, "archived": false, "no_follow": false, "is_crosspostable": false, "pinned": false, "over_18": false, "all_awardings": [], "awarders": [], "media_only": false, "can_gild": false, "spoiler": false, "locked": false, "author_flair_text": null, "treatment_tags": [], "visited": false, "removed_by": null, "num_reports": null, "distinguished": null, "subreddit_id": "t5_2qi41", "mod_reason_by": null, "removal_reason": null, "link_flair_background_color": "", "id": "hwzm0m", "is_robot_indexable": true, "report_reasons": null, "author": "dzecniv", "discussion_type": null, "num_comments": 1, "send_replies": true, "whitelist_status": null, "contest_mode": false, "mod_reports": [], "author_patreon_flair": false, "author_flair_text_color": null, "permalink": "/r/Common_Lisp/comments/hwzm0m/claristid_draw_lindenmayer_systems_with_common/", "parent_whitelist_status": null, "stickied": false, "url": "https://github.com/FdelMazo/cl-aristid/", "subreddit_subscribers": 4314, "created_utc": 1595587722.0, "num_crossposts": 0, "media": null, "is_video": false}}, {"kind": "t3", "data": {"approved_at_utc": null, "subreddit": "Common_Lisp", "selftext": "I have a highly superficial understanding of concurrency. I have been coming across various terms, for example\n\n1. Process\n2. Thread\n3. Green-Thread\n4. Fiber\n5. Proto-thread\n6. Callback\n7. Continuations\n8. Event-Loop\n9. Async/Await\n10. Coroutines\n11. Goroutines\n12. Etc.\n\nI also run into their taxonomy as in Hardware-managed/Software-managed; Kernel/OS-managed vs User-managed vs Runtime-managed; Shared-Memory vs No-shared-Memory.\n\nI want to understand (in some sense) just enough (basic concepts) to be able to apply my knowledge to Web Development in CL. Google/Duckduckgo searches lead me to Javascript-eventloop, or Python async-await (more often than not). I am looking for something where some basics/fundamentals are covered either in (nearly) programming-language independent manner, Or, are done specifically in CL itself. (This is to make it easier for me, as I am a beginner in programming as well as CL).\n\nAny recommendations/inputs are welcome. Even if it helps me to refine my question, so that in my next post I could ask more concrete question, that will be great. Thanks in anticipation.", "author_fullname": "t2_5haau9gl", "saved": false, "mod_reason_title": null, "gilded": 0, "clicked": false, "title": "What is the recommended way to learn Concurrent/Async Programming in CL? (Newbie Question).", "link_flair_richtext": [], "subreddit_name_prefixed": "r/Common_Lisp", "hidden": false, "pwls": null, "link_flair_css_class": null, "downs": 0, "top_awarded_type": null, "hide_score": false, "name": "t3_hwieto", "quarantine": false, "link_flair_text_color": "dark", "upvote_ratio": 0.84, "author_flair_background_color": null, "subreddit_type": "public", "ups": 11, "total_awards_received": 0, "media_embed": {}, "author_flair_template_id": null, "is_original_content": false, "user_reports": [], "secure_media": null, "is_reddit_media_domain": false, "is_meta": false, "category": null, "secure_media_embed": {}, "link_flair_text": null, "can_mod_post": false, "score": 11, "approved_by": null, "author_premium": false, "thumbnail": "", "edited": 1595521800.0, "author_flair_css_class": null, "author_flair_richtext": [], "gildings": {}, "content_categories": null, "is_self": true, "mod_note": null, "created": 1595549457.0, "link_flair_type": "text", "wls": null, "removed_by_category": null, "banned_by": null, "author_flair_type": "text", "domain": "self.Common_Lisp", "allow_live_comments": false, "selftext_html": "<!-- SC_OFF --><div class=\"md\"><p>I have a highly superficial understanding of concurrency. I have been coming across various terms, for example</p>\n\n<ol>\n<li>Process</li>\n<li>Thread</li>\n<li>Green-Thread</li>\n<li>Fiber</li>\n<li>Proto-thread</li>\n<li>Callback</li>\n<li>Continuations</li>\n<li>Event-Loop</li>\n<li>Async/Await</li>\n<li>Coroutines</li>\n<li>Goroutines</li>\n<li>Etc.</li>\n</ol>\n\n<p>I also run into their taxonomy as in Hardware-managed/Software-managed; Kernel/OS-managed vs User-managed vs Runtime-managed; Shared-Memory vs No-shared-Memory.</p>\n\n<p>I want to understand (in some sense) just enough (basic concepts) to be able to apply my knowledge to Web Development in CL. Google/Duckduckgo searches lead me to Javascript-eventloop, or Python async-await (more often than not). I am looking for something where some basics/fundamentals are covered either in (nearly) programming-language independent manner, Or, are done specifically in CL itself. (This is to make it easier for me, as I am a beginner in programming as well as CL).</p>\n\n<p>Any recommendations/inputs are welcome. Even if it helps me to refine my question, so that in my next post I could ask more concrete question, that will be great. Thanks in anticipation.</p>\n</div><!-- SC_ON -->", "likes": null, "suggested_sort": null, "banned_at_utc": null, "view_count": null, "archived": false, "no_follow": false, "is_crosspostable": false, "pinned": false, "over_18": false, "all_awardings": [], "awarders": [], "media_only": false, "can_gild": false, "spoiler": false, "locked": false, "author_flair_text": null, "treatment_tags": [], "visited": false, "removed_by": null, "num_reports": null, "distinguished": null, "subreddit_id": "t5_2qi41", "mod_reason_by": null, "removal_reason": null, "link_flair_background_color": "", "id": "hwieto", "is_robot_indexable": true, "report_reasons": null, "author": "polymath-in", "discussion_type": null, "num_comments": 51, "send_replies": true, "whitelist_status": null, "contest_mode": false, "mod_reports": [], "author_patreon_flair": false, "author_flair_text_color": null, "permalink": "/r/Common_Lisp/comments/hwieto/what_is_the_recommended_way_to_learn/", "parent_whitelist_status": null, "stickied": false, "url": "https://www.reddit.com/r/Common_Lisp/comments/hwieto/what_is_the_recommended_way_to_learn/", "subreddit_subscribers": 4314, "created_utc": 1595520657.0, "num_crossposts": 0, "media": null, "is_video": false}}, {"kind": "t3", "data": {"approved_at_utc": null, "subreddit": "Common_Lisp", "selftext": "", "author_fullname": "t2_j6dwn", "saved": false, "mod_reason_title": null, "gilded": 0, "clicked": false, "title": "log4cl-extras - provides a JSON formatter, a macro to capture context variables and a macro to log unhandled tracebacks.", "link_flair_richtext": [], "subreddit_name_prefixed": "r/Common_Lisp", "hidden": false, "pwls": null, "link_flair_css_class": null, "downs": 0, "top_awarded_type": null, "hide_score": false, "name": "t3_hv5orp", "quarantine": false, "link_flair_text_color": "dark", "upvote_ratio": 1.0, "author_flair_background_color": null, "subreddit_type": "public", "ups": 17, "total_awards_received": 0, "media_embed": {}, "author_flair_template_id": null, "is_original_content": false, "user_reports": [], "secure_media": null, "is_reddit_media_domain": false, "is_meta": false, "category": null, "secure_media_embed": {}, "link_flair_text": null, "can_mod_post": false, "score": 17, "approved_by": null, "author_premium": false, "thumbnail": "", "edited": false, "author_flair_css_class": null, "author_flair_richtext": [], "gildings": {}, "content_categories": null, "is_self": false, "mod_note": null, "created": 1595359579.0, "link_flair_type": "text", "wls": null, "removed_by_category": null, "banned_by": null, "author_flair_type": "text", "domain": "40ants.com", "allow_live_comments": false, "selftext_html": null, "likes": null, "suggested_sort": null, "banned_at_utc": null, "url_overridden_by_dest": "https://40ants.com/lisp-project-of-the-day/2020/07/0136-log4cl-extras.html", "view_count": null, "archived": false, "no_follow": false, "is_crosspostable": false, "pinned": false, "over_18": false, "all_awardings": [], "awarders": [], "media_only": false, "can_gild": false, "spoiler": false, "locked": false, "author_flair_text": null, "treatment_tags": [], "visited": false, "removed_by": null, "num_reports": null, "distinguished": null, "subreddit_id": "t5_2qi41", "mod_reason_by": null, "removal_reason": null, "link_flair_background_color": "", "id": "hv5orp", "is_robot_indexable": true, "report_reasons": null, "author": "dzecniv", "discussion_type": null, "num_comments": 0, "send_replies": true, "whitelist_status": null, "contest_mode": false, "mod_reports": [], "author_patreon_flair": false, "author_flair_text_color": null, "permalink": "/r/Common_Lisp/comments/hv5orp/log4clextras_provides_a_json_formatter_a_macro_to/", "parent_whitelist_status": null, "stickied": false, "url": "https://40ants.com/lisp-project-of-the-day/2020/07/0136-log4cl-extras.html", "subreddit_subscribers": 4314, "created_utc": 1595330779.0, "num_crossposts": 0, "media": null, "is_video": false}}, {"kind": "t3", "data": {"approved_at_utc": null, "subreddit": "Common_Lisp", "selftext": "I need to write 2 functions for a school assignment. I have already written them and they both work, but my teacher is not happy with them and I have no idea how to do them otherwise. \n\nThe first one is supposed to return the position in the list of the argument it's been called with, nil if it's not in the list.\n\nHere's what I got\n\n (defun myposition (lettre liste)\n (cond\n ((not (member lettre liste)) (return-from myposition nil))\n ((equal (car liste) lettre) 0)\n ((+ 1 (myposition lettre (cdr liste)))) ) )\n\nHe won't allow us to use member, or return-from, and I don't know how one function can return either a number or nil...\n\nThe second function is supposed to return the n cdr of a list, cdr 0 being the list itself\n\nHere's what I came up with\n\n (defun niemecdr (item liste)\n (cond\n ((not liste) (return-from niemecdr nil))\n ((equal item 0) (return-from niemecdr liste))\n (t (niemecdr (- item 1) (cdr liste))) ) )\n\nFor this one he said that my function was crazy (sorry I don't know how to better translate what he actually said) and again I shouldn't use return-from or what am I going to use when we start writing complexe functions, an atomic bomb?\n\n(Sorry about the rant, I'm kinda pissed about the whole thing)", "author_fullname": "t2_of02h", "saved": false, "mod_reason_title": null, "gilded": 0, "clicked": false, "title": "I need help with 2 functions !", "link_flair_richtext": [], "subreddit_name_prefixed": "r/Common_Lisp", "hidden": false, "pwls": null, "link_flair_css_class": null, "downs": 0, "top_awarded_type": null, "hide_score": false, "name": "t3_huy3el", "quarantine": false, "link_flair_text_color": "dark", "upvote_ratio": 0.6, "author_flair_background_color": null, "subreddit_type": "public", "ups": 2, "total_awards_received": 0, "media_embed": {}, "author_flair_template_id": null, "is_original_content": false, "user_reports": [], "secure_media": null, "is_reddit_media_domain": false, "is_meta": false, "category": null, "secure_media_embed": {}, "link_flair_text": null, "can_mod_post": false, "score": 2, "approved_by": null, "author_premium": false, "thumbnail": "", "edited": false, "author_flair_css_class": null, "author_flair_richtext": [], "gildings": {}, "content_categories": null, "is_self": true, "mod_note": null, "created": 1595323101.0, "link_flair_type": "text", "wls": null, "removed_by_category": null, "banned_by": null, "author_flair_type": "text", "domain": "self.Common_Lisp", "allow_live_comments": false, "selftext_html": "<!-- SC_OFF --><div class=\"md\"><p>I need to write 2 functions for a school assignment. I have already written them and they both work, but my teacher is not happy with them and I have no idea how to do them otherwise. </p>\n\n<p>The first one is supposed to return the position in the list of the argument it&#39;s been called with, nil if it&#39;s not in the list.</p>\n\n<p>Here&#39;s what I got</p>\n\n<pre><code>(defun myposition (lettre liste)\n (cond\n ((not (member lettre liste)) (return-from myposition nil))\n ((equal (car liste) lettre) 0)\n ((+ 1 (myposition lettre (cdr liste)))) ) )\n</code></pre>\n\n<p>He won&#39;t allow us to use member, or return-from, and I don&#39;t know how one function can return either a number or nil...</p>\n\n<p>The second function is supposed to return the n cdr of a list, cdr 0 being the list itself</p>\n\n<p>Here&#39;s what I came up with</p>\n\n<pre><code>(defun niemecdr (item liste)\n (cond\n ((not liste) (return-from niemecdr nil))\n ((equal item 0) (return-from niemecdr liste))\n (t (niemecdr (- item 1) (cdr liste))) ) )\n</code></pre>\n\n<p>For this one he said that my function was crazy (sorry I don&#39;t know how to better translate what he actually said) and again I shouldn&#39;t use return-from or what am I going to use when we start writing complexe functions, an atomic bomb?</p>\n\n<p>(Sorry about the rant, I&#39;m kinda pissed about the whole thing)</p>\n</div><!-- SC_ON -->", "likes": null, "suggested_sort": null, "banned_at_utc": null, "view_count": null, "archived": false, "no_follow": true, "is_crosspostable": false, "pinned": false, "over_18": false, "all_awardings": [], "awarders": [], "media_only": false, "can_gild": false, "spoiler": false, "locked": false, "author_flair_text": null, "treatment_tags": [], "visited": false, "removed_by": null, "num_reports": null, "distinguished": null, "subreddit_id": "t5_2qi41", "mod_reason_by": null, "removal_reason": null, "link_flair_background_color": "", "id": "huy3el", "is_robot_indexable": true, "report_reasons": null, "author": "matmatomate", "discussion_type": null, "num_comments": 12, "send_replies": true, "whitelist_status": null, "contest_mode": false, "mod_reports": [], "author_patreon_flair": false, "author_flair_text_color": null, "permalink": "/r/Common_Lisp/comments/huy3el/i_need_help_with_2_functions/", "parent_whitelist_status": null, "stickied": false, "url": "https://www.reddit.com/r/Common_Lisp/comments/huy3el/i_need_help_with_2_functions/", "subreddit_subscribers": 4314, "created_utc": 1595294301.0, "num_crossposts": 0, "media": null, "is_video": false}}, {"kind": "t3", "data": {"approved_at_utc": null, "subreddit": "Common_Lisp", "selftext": "On Linux should I be installing using my distro's package manager, the package manager in Emacs, going [here](https://github.com/slime/slime), or something else altogether?", "author_fullname": "t2_5tmu0", "saved": false, "mod_reason_title": null, "gilded": 0, "clicked": false, "title": "How should I install Slime? (Debian Linux)", "link_flair_richtext": [], "subreddit_name_prefixed": "r/Common_Lisp", "hidden": false, "pwls": null, "link_flair_css_class": null, "downs": 0, "top_awarded_type": null, "hide_score": false, "name": "t3_huk6fx", "quarantine": false, "link_flair_text_color": "dark", "upvote_ratio": 1.0, "author_flair_background_color": null, "subreddit_type": "public", "ups": 12, "total_awards_received": 0, "media_embed": {}, "author_flair_template_id": null, "is_original_content": false, "user_reports": [], "secure_media": null, "is_reddit_media_domain": false, "is_meta": false, "category": null, "secure_media_embed": {}, "link_flair_text": null, "can_mod_post": false, "score": 12, "approved_by": null, "author_premium": false, "thumbnail": "", "edited": false, "author_flair_css_class": null, "author_flair_richtext": [], "gildings": {}, "content_categories": null, "is_self": true, "mod_note": null, "created": 1595276035.0, "link_flair_type": "text", "wls": null, "removed_by_category": null, "banned_by": null, "author_flair_type": "text", "domain": "self.Common_Lisp", "allow_live_comments": false, "selftext_html": "<!-- SC_OFF --><div class=\"md\"><p>On Linux should I be installing using my distro&#39;s package manager, the package manager in Emacs, going <a href=\"https://github.com/slime/slime\">here</a>, or something else altogether?</p>\n</div><!-- SC_ON -->", "likes": null, "suggested_sort": null, "banned_at_utc": null, "view_count": null, "archived": false, "no_follow": true, "is_crosspostable": false, "pinned": false, "over_18": false, "all_awardings": [], "awarders": [], "media_only": false, "can_gild": false, "spoiler": false, "locked": false, "author_flair_text": null, "treatment_tags": [], "visited": false, "removed_by": null, "num_reports": null, "distinguished": null, "subreddit_id": "t5_2qi41", "mod_reason_by": null, "removal_reason": null, "link_flair_background_color": "", "id": "huk6fx", "is_robot_indexable": true, "report_reasons": null, "author": "shogun333", "discussion_type": null, "num_comments": 4, "send_replies": true, "whitelist_status": null, "contest_mode": false, "mod_reports": [], "author_patreon_flair": false, "author_flair_text_color": null, "permalink": "/r/Common_Lisp/comments/huk6fx/how_should_i_install_slime_debian_linux/", "parent_whitelist_status": null, "stickied": false, "url": "https://www.reddit.com/r/Common_Lisp/comments/huk6fx/how_should_i_install_slime_debian_linux/", "subreddit_subscribers": 4314, "created_utc": 1595247235.0, "num_crossposts": 0, "media": null, "is_video": false}}, {"kind": "t3", "data": {"approved_at_utc": null, "subreddit": "Common_Lisp", "selftext": "I am trying to understand [https://github.com/fukamachi/lack](https://github.com/fukamachi/lack) (Application Builder for Clack). Further, In particular I am trying to understand the usage of the \"responder\" facility. I understand \"env\" as an alist/plist which contains http/request/response variables. What does \"responder\" contain? Is it a function? Can one call it from outside?\n\nMy goal is to use \"responder\" facility to write an SSE-handler (server-sent events). For SSE header keep-alive is true, and content-type is event-stream. And it is used to send a message to (keep-alive: true) clients whenever some event happens in another part of the program.\n\nThanking you in anticipation.", "author_fullname": "t2_5haau9gl", "saved": false, "mod_reason_title": null, "gilded": 0, "clicked": false, "title": "What is the recommended way to read/understand code written by others? (Newbie Question).", "link_flair_richtext": [], "subreddit_name_prefixed": "r/Common_Lisp", "hidden": false, "pwls": null, "link_flair_css_class": null, "downs": 0, "top_awarded_type": null, "hide_score": false, "name": "t3_hu019r", "quarantine": false, "link_flair_text_color": "dark", "upvote_ratio": 0.95, "author_flair_background_color": null, "subreddit_type": "public", "ups": 20, "total_awards_received": 0, "media_embed": {}, "author_flair_template_id": null, "is_original_content": false, "user_reports": [], "secure_media": null, "is_reddit_media_domain": false, "is_meta": false, "category": null, "secure_media_embed": {}, "link_flair_text": null, "can_mod_post": false, "score": 20, "approved_by": null, "author_premium": false, "thumbnail": "", "edited": false, "author_flair_css_class": null, "author_flair_richtext": [], "gildings": {}, "content_categories": null, "is_self": true, "mod_note": null, "created": 1595191999.0, "link_flair_type": "text", "wls": null, "removed_by_category": null, "banned_by": null, "author_flair_type": "text", "domain": "self.Common_Lisp", "allow_live_comments": false, "selftext_html": "<!-- SC_OFF --><div class=\"md\"><p>I am trying to understand <a href=\"https://github.com/fukamachi/lack\">https://github.com/fukamachi/lack</a> (Application Builder for Clack). Further, In particular I am trying to understand the usage of the &quot;responder&quot; facility. I understand &quot;env&quot; as an alist/plist which contains http/request/response variables. What does &quot;responder&quot; contain? Is it a function? Can one call it from outside?</p>\n\n<p>My goal is to use &quot;responder&quot; facility to write an SSE-handler (server-sent events). For SSE header keep-alive is true, and content-type is event-stream. And it is used to send a message to (keep-alive: true) clients whenever some event happens in another part of the program.</p>\n\n<p>Thanking you in anticipation.</p>\n</div><!-- SC_ON -->", "likes": null, "suggested_sort": null, "banned_at_utc": null, "view_count": null, "archived": false, "no_follow": false, "is_crosspostable": false, "pinned": false, "over_18": false, "all_awardings": [], "awarders": [], "media_only": false, "can_gild": false, "spoiler": false, "locked": false, "author_flair_text": null, "treatment_tags": [], "visited": false, "removed_by": null, "num_reports": null, "distinguished": null, "subreddit_id": "t5_2qi41", "mod_reason_by": null, "removal_reason": null, "link_flair_background_color": "", "id": "hu019r", "is_robot_indexable": true, "report_reasons": null, "author": "polymath-in", "discussion_type": null, "num_comments": 62, "send_replies": true, "whitelist_status": null, "contest_mode": false, "mod_reports": [], "author_patreon_flair": false, "author_flair_text_color": null, "permalink": "/r/Common_Lisp/comments/hu019r/what_is_the_recommended_way_to_readunderstand/", "parent_whitelist_status": null, "stickied": false, "url": "https://www.reddit.com/r/Common_Lisp/comments/hu019r/what_is_the_recommended_way_to_readunderstand/", "subreddit_subscribers": 4314, "created_utc": 1595163199.0, "num_crossposts": 0, "media": null, "is_video": false}}, {"kind": "t3", "data": {"approved_at_utc": null, "subreddit": "Common_Lisp", "selftext": "", "author_fullname": "t2_dzq0o", "saved": false, "mod_reason_title": null, "gilded": 0, "clicked": false, "title": "html->string: the simplest HTML templating library west of the Mississippi", "link_flair_richtext": [], "subreddit_name_prefixed": "r/Common_Lisp", "hidden": false, "pwls": null, "link_flair_css_class": null, "downs": 0, "top_awarded_type": null, "hide_score": false, "name": "t3_htbl8p", "quarantine": false, "link_flair_text_color": "dark", "upvote_ratio": 0.92, "author_flair_background_color": null, "subreddit_type": "public", "ups": 11, "total_awards_received": 0, "media_embed": {}, "author_flair_template_id": null, "is_original_content": false, "user_reports": [], "secure_media": null, "is_reddit_media_domain": false, "is_meta": false, "category": null, "secure_media_embed": {}, "link_flair_text": null, "can_mod_post": false, "score": 11, "approved_by": null, "author_premium": false, "thumbnail": "", "edited": false, "author_flair_css_class": null, "author_flair_richtext": [], "gildings": {}, "content_categories": null, "is_self": false, "mod_note": null, "created": 1595080021.0, "link_flair_type": "text", "wls": null, "removed_by_category": null, "banned_by": null, "author_flair_type": "text", "domain": "gist.github.com", "allow_live_comments": false, "selftext_html": null, "likes": null, "suggested_sort": null, "banned_at_utc": null, "url_overridden_by_dest": "https://gist.github.com/markasoftware/ab357f1b967b3f656d026e33fec3bc0e", "view_count": null, "archived": false, "no_follow": false, "is_crosspostable": false, "pinned": false, "over_18": false, "all_awardings": [], "awarders": [], "media_only": false, "can_gild": false, "spoiler": false, "locked": false, "author_flair_text": null, "treatment_tags": [], "visited": false, "removed_by": null, "num_reports": null, "distinguished": null, "subreddit_id": "t5_2qi41", "mod_reason_by": null, "removal_reason": null, "link_flair_background_color": "", "id": "htbl8p", "is_robot_indexable": true, "report_reasons": null, "author": "markasoftware", "discussion_type": null, "num_comments": 3, "send_replies": true, "whitelist_status": null, "contest_mode": false, "mod_reports": [], "author_patreon_flair": false, "author_flair_text_color": null, "permalink": "/r/Common_Lisp/comments/htbl8p/htmlstring_the_simplest_html_templating_library/", "parent_whitelist_status": null, "stickied": false, "url": "https://gist.github.com/markasoftware/ab357f1b967b3f656d026e33fec3bc0e", "subreddit_subscribers": 4314, "created_utc": 1595051221.0, "num_crossposts": 0, "media": null, "is_video": false}}, {"kind": "t3", "data": {"approved_at_utc": null, "subreddit": "Common_Lisp", "selftext": "", "author_fullname": "t2_j6dwn", "saved": false, "mod_reason_title": null, "gilded": 0, "clicked": false, "title": "mmontone/hunchentoot-errors - Augments Hunchentoot error pages and logs with request and session information.", "link_flair_richtext": [], "subreddit_name_prefixed": "r/Common_Lisp", "hidden": false, "pwls": null, "link_flair_css_class": null, "downs": 0, "top_awarded_type": null, "hide_score": false, "name": "t3_htdq46", "quarantine": false, "link_flair_text_color": "dark", "upvote_ratio": 0.75, "author_flair_background_color": null, "subreddit_type": "public", "ups": 4, "total_awards_received": 0, "media_embed": {}, "author_flair_template_id": null, "is_original_content": false, "user_reports": [], "secure_media": null, "is_reddit_media_domain": false, "is_meta": false, "category": null, "secure_media_embed": {}, "link_flair_text": null, "can_mod_post": false, "score": 4, "approved_by": null, "author_premium": false, "thumbnail": "", "edited": false, "author_flair_css_class": null, "author_flair_richtext": [], "gildings": {}, "content_categories": null, "is_self": false, "mod_note": null, "created": 1595092349.0, "link_flair_type": "text", "wls": null, "removed_by_category": null, "banned_by": null, "author_flair_type": "text", "domain": "github.com", "allow_live_comments": false, "selftext_html": null, "likes": null, "suggested_sort": null, "banned_at_utc": null, "url_overridden_by_dest": "https://github.com/mmontone/hunchentoot-errors", "view_count": null, "archived": false, "no_follow": false, "is_crosspostable": false, "pinned": false, "over_18": false, "all_awardings": [], "awarders": [], "media_only": false, "can_gild": false, "spoiler": false, "locked": false, "author_flair_text": null, "treatment_tags": [], "visited": false, "removed_by": null, "num_reports": null, "distinguished": null, "subreddit_id": "t5_2qi41", "mod_reason_by": null, "removal_reason": null, "link_flair_background_color": "", "id": "htdq46", "is_robot_indexable": true, "report_reasons": null, "author": "dzecniv", "discussion_type": null, "num_comments": 0, "send_replies": true, "whitelist_status": null, "contest_mode": false, "mod_reports": [], "author_patreon_flair": false, "author_flair_text_color": null, "permalink": "/r/Common_Lisp/comments/htdq46/mmontonehunchentooterrors_augments_hunchentoot/", "parent_whitelist_status": null, "stickied": false, "url": "https://github.com/mmontone/hunchentoot-errors", "subreddit_subscribers": 4314, "created_utc": 1595063549.0, "num_crossposts": 0, "media": null, "is_video": false}}, {"kind": "t3", "data": {"approved_at_utc": null, "subreddit": "Common_Lisp", "selftext": "", "author_fullname": "t2_j6dwn", "saved": false, "mod_reason_title": null, "gilded": 0, "clicked": false, "title": "ralt/linux-packaging - build .deb, .rpm or .pkg linux packages with a simple ASDF declaration", "link_flair_richtext": [], "subreddit_name_prefixed": "r/Common_Lisp", "hidden": false, "pwls": null, "link_flair_css_class": null, "downs": 0, "top_awarded_type": null, "hide_score": false, "name": "t3_hsun9v", "quarantine": false, "link_flair_text_color": "dark", "upvote_ratio": 0.97, "author_flair_background_color": null, "subreddit_type": "public", "ups": 22, "total_awards_received": 0, "media_embed": {}, "author_flair_template_id": null, "is_original_content": false, "user_reports": [], "secure_media": null, "is_reddit_media_domain": false, "is_meta": false, "category": null, "secure_media_embed": {}, "link_flair_text": null, "can_mod_post": false, "score": 22, "approved_by": null, "author_premium": false, "thumbnail": "", "edited": false, "author_flair_css_class": null, "author_flair_richtext": [], "gildings": {}, "content_categories": null, "is_self": false, "mod_note": null, "created": 1595017006.0, "link_flair_type": "text", "wls": null, "removed_by_category": null, "banned_by": null, "author_flair_type": "text", "domain": "gitlab.com", "allow_live_comments": false, "selftext_html": null, "likes": null, "suggested_sort": null, "banned_at_utc": null, "url_overridden_by_dest": "https://gitlab.com/ralt/linux-packaging", "view_count": null, "archived": false, "no_follow": false, "is_crosspostable": false, "pinned": false, "over_18": false, "all_awardings": [], "awarders": [], "media_only": false, "can_gild": false, "spoiler": false, "locked": false, "author_flair_text": null, "treatment_tags": [], "visited": false, "removed_by": null, "num_reports": null, "distinguished": null, "subreddit_id": "t5_2qi41", "mod_reason_by": null, "removal_reason": null, "link_flair_background_color": "", "id": "hsun9v", "is_robot_indexable": true, "report_reasons": null, "author": "dzecniv", "discussion_type": null, "num_comments": 2, "send_replies": true, "whitelist_status": null, "contest_mode": false, "mod_reports": [], "author_patreon_flair": false, "author_flair_text_color": null, "permalink": "/r/Common_Lisp/comments/hsun9v/raltlinuxpackaging_build_deb_rpm_or_pkg_linux/", "parent_whitelist_status": null, "stickied": false, "url": "https://gitlab.com/ralt/linux-packaging", "subreddit_subscribers": 4314, "created_utc": 1594988206.0, "num_crossposts": 0, "media": null, "is_video": false}}, {"kind": "t3", "data": {"approved_at_utc": null, "subreddit": "Common_Lisp", "selftext": "", "author_fullname": "t2_mgz32", "saved": false, "mod_reason_title": null, "gilded": 0, "clicked": false, "title": "Lite Github REST API client", "link_flair_richtext": [], "subreddit_name_prefixed": "r/Common_Lisp", "hidden": false, "pwls": null, "link_flair_css_class": null, "downs": 0, "top_awarded_type": null, "hide_score": false, "name": "t3_ht0o5r", "quarantine": false, "link_flair_text_color": "dark", "upvote_ratio": 1.0, "author_flair_background_color": null, "subreddit_type": "public", "ups": 8, "total_awards_received": 0, "media_embed": {}, "author_flair_template_id": null, "is_original_content": false, "user_reports": [], "secure_media": null, "is_reddit_media_domain": false, "is_meta": false, "category": null, "secure_media_embed": {}, "link_flair_text": null, "can_mod_post": false, "score": 8, "approved_by": null, "author_premium": false, "thumbnail": "", "edited": false, "author_flair_css_class": null, "author_flair_richtext": [], "gildings": {}, "content_categories": null, "is_self": false, "mod_note": null, "created": 1595038142.0, "link_flair_type": "text", "wls": null, "removed_by_category": null, "banned_by": null, "author_flair_type": "text", "domain": "github.com", "allow_live_comments": false, "selftext_html": null, "likes": null, "suggested_sort": null, "banned_at_utc": null, "url_overridden_by_dest": "https://github.com/ccqpein/Github-API-CL", "view_count": null, "archived": false, "no_follow": false, "is_crosspostable": false, "pinned": false, "over_18": false, "all_awardings": [], "awarders": [], "media_only": false, "can_gild": false, "spoiler": false, "locked": false, "author_flair_text": null, "treatment_tags": [], "visited": false, "removed_by": null, "num_reports": null, "distinguished": null, "subreddit_id": "t5_2qi41", "mod_reason_by": null, "removal_reason": null, "link_flair_background_color": "", "id": "ht0o5r", "is_robot_indexable": true, "report_reasons": null, "author": "ccQpein", "discussion_type": null, "num_comments": 1, "send_replies": true, "whitelist_status": null, "contest_mode": false, "mod_reports": [], "author_patreon_flair": false, "author_flair_text_color": null, "permalink": "/r/Common_Lisp/comments/ht0o5r/lite_github_rest_api_client/", "parent_whitelist_status": null, "stickied": false, "url": "https://github.com/ccqpein/Github-API-CL", "subreddit_subscribers": 4314, "created_utc": 1595009342.0, "num_crossposts": 0, "media": null, "is_video": false}}, {"kind": "t3", "data": {"approved_at_utc": null, "subreddit": "Common_Lisp", "selftext": "Hello Everyone!\n\nFirst of all, I shall say that I'm amazed and fully in love with power/productivity of common lisp. Changed my mind on how I see programming languages..So much, that I rewrote some domain logic services I had in Golang..with 1/10 of the pain and time. (Included in that pain learning common lisp from 0). They are going into production once I make sure everything is correct, but so far everything looks perfect!! :)\n\nThe question on this post is, while programming on common lisp, I tend to write small macros and save them to a utility library I created, 'martillo' (hammer in english) .\n\nI'm not sure if I'm re-inventing the wheel or if it's normal thing in common lisp , but it solves my issues at hand . \n\nOne example, is validation \n\n(when \\*something\\* (error \"Failed\") \n\nor\n\n (when (not \\*something\\*) (error \"failed))\n\nSome domain logic I had to write lot of this ones, so I created a macro for that. Is that correct, recommended? I'm still new to common lisp, so I guess will have to my re writes in to future I guess.\n\n&#x200B;\n\nThank you!", "author_fullname": "t2_6fhgcml3", "saved": false, "mod_reason_title": null, "gilded": 0, "clicked": false, "title": "Utility library? - CL journey to production", "link_flair_richtext": [], "subreddit_name_prefixed": "r/Common_Lisp", "hidden": false, "pwls": null, "link_flair_css_class": null, "downs": 0, "top_awarded_type": null, "hide_score": false, "name": "t3_hswmc9", "quarantine": false, "link_flair_text_color": "dark", "upvote_ratio": 0.94, "author_flair_background_color": null, "subreddit_type": "public", "ups": 12, "total_awards_received": 0, "media_embed": {}, "author_flair_template_id": null, "is_original_content": false, "user_reports": [], "secure_media": null, "is_reddit_media_domain": false, "is_meta": false, "category": null, "secure_media_embed": {}, "link_flair_text": null, "can_mod_post": false, "score": 12, "approved_by": null, "author_premium": false, "thumbnail": "", "edited": false, "author_flair_css_class": null, "author_flair_richtext": [], "gildings": {}, "content_categories": null, "is_self": true, "mod_note": null, "created": 1595024863.0, "link_flair_type": "text", "wls": null, "removed_by_category": null, "banned_by": null, "author_flair_type": "text", "domain": "self.Common_Lisp", "allow_live_comments": false, "selftext_html": "<!-- SC_OFF --><div class=\"md\"><p>Hello Everyone!</p>\n\n<p>First of all, I shall say that I&#39;m amazed and fully in love with power/productivity of common lisp. Changed my mind on how I see programming languages..So much, that I rewrote some domain logic services I had in Golang..with 1/10 of the pain and time. (Included in that pain learning common lisp from 0). They are going into production once I make sure everything is correct, but so far everything looks perfect!! :)</p>\n\n<p>The question on this post is, while programming on common lisp, I tend to write small macros and save them to a utility library I created, &#39;martillo&#39; (hammer in english) .</p>\n\n<p>I&#39;m not sure if I&#39;m re-inventing the wheel or if it&#39;s normal thing in common lisp , but it solves my issues at hand . </p>\n\n<p>One example, is validation </p>\n\n<p>(when *something* (error &quot;Failed&quot;) </p>\n\n<p>or</p>\n\n<p>(when (not *something*) (error &quot;failed))</p>\n\n<p>Some domain logic I had to write lot of this ones, so I created a macro for that. Is that correct, recommended? I&#39;m still new to common lisp, so I guess will have to my re writes in to future I guess.</p>\n\n<p>&#x200B;</p>\n\n<p>Thank you!</p>\n</div><!-- SC_ON -->", "likes": null, "suggested_sort": null, "banned_at_utc": null, "view_count": null, "archived": false, "no_follow": false, "is_crosspostable": false, "pinned": false, "over_18": false, "all_awardings": [], "awarders": [], "media_only": false, "can_gild": false, "spoiler": false, "locked": false, "author_flair_text": null, "treatment_tags": [], "visited": false, "removed_by": null, "num_reports": null, "distinguished": null, "subreddit_id": "t5_2qi41", "mod_reason_by": null, "removal_reason": null, "link_flair_background_color": "", "id": "hswmc9", "is_robot_indexable": true, "report_reasons": null, "author": "diegogub2", "discussion_type": null, "num_comments": 11, "send_replies": true, "whitelist_status": null, "contest_mode": false, "mod_reports": [], "author_patreon_flair": false, "author_flair_text_color": null, "permalink": "/r/Common_Lisp/comments/hswmc9/utility_library_cl_journey_to_production/", "parent_whitelist_status": null, "stickied": false, "url": "https://www.reddit.com/r/Common_Lisp/comments/hswmc9/utility_library_cl_journey_to_production/", "subreddit_subscribers": 4314, "created_utc": 1594996063.0, "num_crossposts": 0, "media": null, "is_video": false}}, {"kind": "t3", "data": {"approved_at_utc": null, "subreddit": "Common_Lisp", "selftext": "", "author_fullname": "t2_nyrph4o", "saved": false, "mod_reason_title": null, "gilded": 0, "clicked": false, "title": "Use Common Lisp to rewrite binaries -- the binary re-programmable programming language", "link_flair_richtext": [], "subreddit_name_prefixed": "r/Common_Lisp", "hidden": false, "pwls": null, "link_flair_css_class": null, "downs": 0, "top_awarded_type": null, "hide_score": false, "name": "t3_hs96ec", "quarantine": false, "link_flair_text_color": "dark", "upvote_ratio": 0.97, "author_flair_background_color": null, "subreddit_type": "public", "ups": 37, "total_awards_received": 0, "media_embed": {}, "author_flair_template_id": null, "is_original_content": false, "user_reports": [], "secure_media": null, "is_reddit_media_domain": false, "is_meta": false, "category": null, "secure_media_embed": {}, "link_flair_text": null, "can_mod_post": false, "score": 37, "approved_by": null, "author_premium": false, "thumbnail": "", "edited": false, "author_flair_css_class": null, "author_flair_richtext": [], "gildings": {}, "content_categories": null, "is_self": false, "mod_note": null, "created": 1594933175.0, "link_flair_type": "text", "wls": null, "removed_by_category": null, "banned_by": null, "author_flair_type": "text", "domain": "grammatech.github.io", "allow_live_comments": false, "selftext_html": null, "likes": null, "suggested_sort": null, "banned_at_utc": null, "url_overridden_by_dest": "https://grammatech.github.io/gtirb/md_stack-stamp.html", "view_count": null, "archived": false, "no_follow": false, "is_crosspostable": false, "pinned": false, "over_18": false, "all_awardings": [], "awarders": [], "media_only": false, "can_gild": false, "spoiler": false, "locked": false, "author_flair_text": null, "treatment_tags": [], "visited": false, "removed_by": null, "num_reports": null, "distinguished": null, "subreddit_id": "t5_2qi41", "mod_reason_by": null, "removal_reason": null, "link_flair_background_color": "", "id": "hs96ec", "is_robot_indexable": true, "report_reasons": null, "author": "eric-schulte", "discussion_type": null, "num_comments": 0, "send_replies": true, "whitelist_status": null, "contest_mode": false, "mod_reports": [], "author_patreon_flair": false, "author_flair_text_color": null, "permalink": "/r/Common_Lisp/comments/hs96ec/use_common_lisp_to_rewrite_binaries_the_binary/", "parent_whitelist_status": null, "stickied": false, "url": "https://grammatech.github.io/gtirb/md_stack-stamp.html", "subreddit_subscribers": 4314, "created_utc": 1594904375.0, "num_crossposts": 0, "media": null, "is_video": false}}, {"kind": "t3", "data": {"approved_at_utc": null, "subreddit": "Common_Lisp", "selftext": "", "author_fullname": "t2_1cqjsfrj", "saved": false, "mod_reason_title": null, "gilded": 0, "clicked": false, "title": "Taps - A small number of functions that make SERIES more convenient to work", "link_flair_richtext": [], "subreddit_name_prefixed": "r/Common_Lisp", "hidden": false, "pwls": null, "link_flair_css_class": null, "downs": 0, "top_awarded_type": null, "hide_score": false, "name": "t3_hr3ibu", "quarantine": false, "link_flair_text_color": "dark", "upvote_ratio": 1.0, "author_flair_background_color": null, "subreddit_type": "public", "ups": 21, "total_awards_received": 0, "media_embed": {}, "author_flair_template_id": null, "is_original_content": false, "user_reports": [], "secure_media": null, "is_reddit_media_domain": false, "is_meta": false, "category": null, "secure_media_embed": {}, "link_flair_text": null, "can_mod_post": false, "score": 21, "approved_by": null, "author_premium": false, "thumbnail": "", "edited": false, "author_flair_css_class": null, "author_flair_richtext": [], "gildings": {}, "content_categories": null, "is_self": false, "mod_note": null, "created": 1594769109.0, "link_flair_type": "text", "wls": null, "removed_by_category": null, "banned_by": null, "author_flair_type": "text", "domain": "github.com", "allow_live_comments": false, "selftext_html": null, "likes": null, "suggested_sort": null, "banned_at_utc": null, "url_overridden_by_dest": "https://github.com/mikelevins/taps", "view_count": null, "archived": false, "no_follow": false, "is_crosspostable": false, "pinned": false, "over_18": false, "all_awardings": [], "awarders": [], "media_only": false, "can_gild": false, "spoiler": false, "locked": false, "author_flair_text": null, "treatment_tags": [], "visited": false, "removed_by": null, "num_reports": null, "distinguished": null, "subreddit_id": "t5_2qi41", "mod_reason_by": null, "removal_reason": null, "link_flair_background_color": "", "id": "hr3ibu", "is_robot_indexable": true, "report_reasons": null, "author": "_priyadarshan", "discussion_type": null, "num_comments": 2, "send_replies": false, "whitelist_status": null, "contest_mode": false, "mod_reports": [], "author_patreon_flair": false, "author_flair_text_color": null, "permalink": "/r/Common_Lisp/comments/hr3ibu/taps_a_small_number_of_functions_that_make_series/", "parent_whitelist_status": null, "stickied": false, "url": "https://github.com/mikelevins/taps", "subreddit_subscribers": 4314, "created_utc": 1594740309.0, "num_crossposts": 0, "media": null, "is_video": false}}, {"kind": "t3", "data": {"approved_at_utc": null, "subreddit": "Common_Lisp", "selftext": "I have been working my way through NOC and playing about first with the P5.js and then on Python by importing graphics. I got excited when I read about Sketch, which is available on Quicklisp, but holy hell if it hasn't been an absolute pain. I have followed the instructions and got added the paths but it just doesn't seem to want to work. \nI would like to start applying some of the things I 'm learning in lisp, as I have done with other languages, but graphics and Lisp seem to circle I just can't square. Any help, or advice would be much appreciated.", "author_fullname": "t2_fagr6", "saved": false, "mod_reason_title": null, "gilded": 0, "clicked": false, "title": "Working on Shiffman's Nature of Code using Lisp", "link_flair_richtext": [], "subreddit_name_prefixed": "r/Common_Lisp", "hidden": false, "pwls": null, "link_flair_css_class": null, "downs": 0, "top_awarded_type": null, "hide_score": false, "name": "t3_hpyg4j", "quarantine": false, "link_flair_text_color": "dark", "upvote_ratio": 0.95, "author_flair_background_color": null, "subreddit_type": "public", "ups": 16, "total_awards_received": 0, "media_embed": {}, "author_flair_template_id": null, "is_original_content": false, "user_reports": [], "secure_media": null, "is_reddit_media_domain": false, "is_meta": false, "category": null, "secure_media_embed": {}, "link_flair_text": null, "can_mod_post": false, "score": 16, "approved_by": null, "author_premium": false, "thumbnail": "", "edited": false, "author_flair_css_class": null, "author_flair_richtext": [], "gildings": {}, "content_categories": null, "is_self": true, "mod_note": null, "created": 1594604485.0, "link_flair_type": "text", "wls": null, "removed_by_category": null, "banned_by": null, "author_flair_type": "text", "domain": "self.Common_Lisp", "allow_live_comments": false, "selftext_html": "<!-- SC_OFF --><div class=\"md\"><p>I have been working my way through NOC and playing about first with the P5.js and then on Python by importing graphics. I got excited when I read about Sketch, which is available on Quicklisp, but holy hell if it hasn&#39;t been an absolute pain. I have followed the instructions and got added the paths but it just doesn&#39;t seem to want to work.<br/>\nI would like to start applying some of the things I &#39;m learning in lisp, as I have done with other languages, but graphics and Lisp seem to circle I just can&#39;t square. Any help, or advice would be much appreciated.</p>\n</div><!-- SC_ON -->", "likes": null, "suggested_sort": null, "banned_at_utc": null, "view_count": null, "archived": false, "no_follow": false, "is_crosspostable": false, "pinned": false, "over_18": false, "all_awardings": [], "awarders": [], "media_only": false, "can_gild": false, "spoiler": false, "locked": false, "author_flair_text": null, "treatment_tags": [], "visited": false, "removed_by": null, "num_reports": null, "distinguished": null, "subreddit_id": "t5_2qi41", "mod_reason_by": null, "removal_reason": null, "link_flair_background_color": "", "id": "hpyg4j", "is_robot_indexable": true, "report_reasons": null, "author": "Perrin_Barclay", "discussion_type": null, "num_comments": 12, "send_replies": true, "whitelist_status": null, "contest_mode": false, "mod_reports": [], "author_patreon_flair": false, "author_flair_text_color": null, "permalink": "/r/Common_Lisp/comments/hpyg4j/working_on_shiffmans_nature_of_code_using_lisp/", "parent_whitelist_status": null, "stickied": false, "url": "https://www.reddit.com/r/Common_Lisp/comments/hpyg4j/working_on_shiffmans_nature_of_code_using_lisp/", "subreddit_subscribers": 4314, "created_utc": 1594575685.0, "num_crossposts": 0, "media": null, "is_video": false}}, {"kind": "t3", "data": {"approved_at_utc": null, "subreddit": "Common_Lisp", "selftext": "Hi everyone\n\nI'm thinking of writing a programming language that compiles down to lisp. I have two questions: \n\n\n1. I found these docs for [Clisp bytecode](https://www.gnu.org/software/clisp/impnotes/instr-set.html). How do I write some assembly in Clisp bytecode and run it?\n2. Is it better to translate into Clisp bytecode or into plain CL syntax and compile to SBCL in terms of performance? \nThe cross-platform benefits of running on the Clisp VM isn't a concern for what I'm doing", "author_fullname": "t2_5ua3gvsg", "saved": false, "mod_reason_title": null, "gilded": 0, "clicked": false, "title": "Best approach for language compiling to lisp", "link_flair_richtext": [], "subreddit_name_prefixed": "r/Common_Lisp", "hidden": false, "pwls": null, "link_flair_css_class": null, "downs": 0, "top_awarded_type": null, "hide_score": false, "name": "t3_hphwqg", "quarantine": false, "link_flair_text_color": "dark", "upvote_ratio": 0.79, "author_flair_background_color": null, "subreddit_type": "public", "ups": 8, "total_awards_received": 0, "media_embed": {}, "author_flair_template_id": null, "is_original_content": false, "user_reports": [], "secure_media": null, "is_reddit_media_domain": false, "is_meta": false, "category": null, "secure_media_embed": {}, "link_flair_text": null, "can_mod_post": false, "score": 8, "approved_by": null, "author_premium": false, "thumbnail": "", "edited": false, "author_flair_css_class": null, "author_flair_richtext": [], "gildings": {}, "content_categories": null, "is_self": true, "mod_note": null, "created": 1594530929.0, "link_flair_type": "text", "wls": null, "removed_by_category": null, "banned_by": null, "author_flair_type": "text", "domain": "self.Common_Lisp", "allow_live_comments": false, "selftext_html": "<!-- SC_OFF --><div class=\"md\"><p>Hi everyone</p>\n\n<p>I&#39;m thinking of writing a programming language that compiles down to lisp. I have two questions: </p>\n\n<ol>\n<li>I found these docs for <a href=\"https://www.gnu.org/software/clisp/impnotes/instr-set.html\">Clisp bytecode</a>. How do I write some assembly in Clisp bytecode and run it?</li>\n<li>Is it better to translate into Clisp bytecode or into plain CL syntax and compile to SBCL in terms of performance?<br/>\nThe cross-platform benefits of running on the Clisp VM isn&#39;t a concern for what I&#39;m doing</li>\n</ol>\n</div><!-- SC_ON -->", "likes": null, "suggested_sort": null, "banned_at_utc": null, "view_count": null, "archived": false, "no_follow": true, "is_crosspostable": false, "pinned": false, "over_18": false, "all_awardings": [], "awarders": [], "media_only": false, "can_gild": false, "spoiler": false, "locked": false, "author_flair_text": null, "treatment_tags": [], "visited": false, "removed_by": null, "num_reports": null, "distinguished": null, "subreddit_id": "t5_2qi41", "mod_reason_by": null, "removal_reason": null, "link_flair_background_color": "", "id": "hphwqg", "is_robot_indexable": true, "report_reasons": null, "author": "risto2020", "discussion_type": null, "num_comments": 8, "send_replies": true, "whitelist_status": null, "contest_mode": false, "mod_reports": [], "author_patreon_flair": false, "author_flair_text_color": null, "permalink": "/r/Common_Lisp/comments/hphwqg/best_approach_for_language_compiling_to_lisp/", "parent_whitelist_status": null, "stickied": false, "url": "https://www.reddit.com/r/Common_Lisp/comments/hphwqg/best_approach_for_language_compiling_to_lisp/", "subreddit_subscribers": 4314, "created_utc": 1594502129.0, "num_crossposts": 0, "media": null, "is_video": false}}, {"kind": "t3", "data": {"approved_at_utc": null, "subreddit": "Common_Lisp", "selftext": "", "author_fullname": "t2_1r2wgci2", "saved": false, "mod_reason_title": null, "gilded": 0, "clicked": false, "title": "Archive of UMASS Lisp resources", "link_flair_richtext": [], "subreddit_name_prefixed": "r/Common_Lisp", "hidden": false, "pwls": null, "link_flair_css_class": null, "downs": 0, "top_awarded_type": null, "hide_score": false, "name": "t3_hp32td", "quarantine": false, "link_flair_text_color": "dark", "upvote_ratio": 1.0, "author_flair_background_color": null, "subreddit_type": "public", "ups": 7, "total_awards_received": 0, "media_embed": {}, "author_flair_template_id": null, "is_original_content": false, "user_reports": [], "secure_media": null, "is_reddit_media_domain": false, "is_meta": false, "category": null, "secure_media_embed": {}, "link_flair_text": null, "can_mod_post": false, "score": 7, "approved_by": null, "author_premium": false, "thumbnail": "", "edited": false, "author_flair_css_class": null, "author_flair_richtext": [], "gildings": {}, "content_categories": null, "is_self": false, "mod_note": null, "crosspost_parent_list": [{"approved_at_utc": null, "subreddit": "lisp", "selftext": "", "author_fullname": "t2_1r2wgci2", "saved": false, "mod_reason_title": null, "gilded": 0, "clicked": false, "title": "Archive of UMASS Lisp resources", "link_flair_richtext": [], "subreddit_name_prefixed": "r/lisp", "hidden": false, "pwls": 6, "link_flair_css_class": null, "downs": 0, "top_awarded_type": null, "hide_score": false, "name": "t3_hp32ck", "quarantine": false, "link_flair_text_color": "dark", "upvote_ratio": 1.0, "author_flair_background_color": null, "subreddit_type": "public", "ups": 34, "total_awards_received": 0, "media_embed": {}, "author_flair_template_id": null, "is_original_content": false, "user_reports": [], "secure_media": null, "is_reddit_media_domain": false, "is_meta": false, "category": null, "secure_media_embed": {}, "link_flair_text": null, "can_mod_post": false, "score": 34, "approved_by": null, "author_premium": false, "thumbnail": "", "edited": false, "author_flair_css_class": null, "author_flair_richtext": [], "gildings": {}, "content_categories": null, "is_self": false, "mod_note": null, "created": 1594466607.0, "link_flair_type": "text", "wls": 6, "removed_by_category": null, "banned_by": null, "author_flair_type": "text", "domain": "web.archive.org", "allow_live_comments": false, "selftext_html": null, "likes": null, "suggested_sort": null, "banned_at_utc": null, "url_overridden_by_dest": "https://web.archive.org/web/20070602152438/http://eksl-www.cs.umass.edu/lisp-resources/index.html", "view_count": null, "archived": false, "no_follow": false, "is_crosspostable": false, "pinned": false, "over_18": false, "all_awardings": [], "awarders": [], "media_only": false, "can_gild": false, "spoiler": false, "locked": false, "author_flair_text": null, "treatment_tags": [], "visited": false, "removed_by": null, "num_reports": null, "distinguished": null, "subreddit_id": "t5_2qh35", "mod_reason_by": null, "removal_reason": null, "link_flair_background_color": "", "id": "hp32ck", "is_robot_indexable": true, "report_reasons": null, "author": "bekorchi", "discussion_type": null, "num_comments": 2, "send_replies": true, "whitelist_status": "all_ads", "contest_mode": false, "mod_reports": [], "author_patreon_flair": false, "author_flair_text_color": null, "permalink": "/r/lisp/comments/hp32ck/archive_of_umass_lisp_resources/", "parent_whitelist_status": "all_ads", "stickied": false, "url": "https://web.archive.org/web/20070602152438/http://eksl-www.cs.umass.edu/lisp-resources/index.html", "subreddit_subscribers": 28667, "created_utc": 1594437807.0, "num_crossposts": 1, "media": null, "is_video": false}], "created": 1594466663.0, "link_flair_type": "text", "wls": null, "removed_by_category": null, "banned_by": null, "author_flair_type": "text", "domain": "web.archive.org", "allow_live_comments": false, "selftext_html": null, "likes": null, "suggested_sort": null, "banned_at_utc": null, "url_overridden_by_dest": "https://web.archive.org/web/20070602152438/http://eksl-www.cs.umass.edu/lisp-resources/index.html", "view_count": null, "archived": false, "no_follow": false, "is_crosspostable": false, "pinned": false, "over_18": false, "all_awardings": [], "awarders": [], "media_only": false, "can_gild": false, "spoiler": false, "locked": false, "author_flair_text": null, "treatment_tags": [], "visited": false, "removed_by": null, "num_reports": null, "distinguished": null, "subreddit_id": "t5_2qi41", "mod_reason_by": null, "removal_reason": null, "link_flair_background_color": "", "id": "hp32td", "is_robot_indexable": true, "report_reasons": null, "author": "bekorchi", "discussion_type": null, "num_comments": 1, "send_replies": true, "whitelist_status": null, "contest_mode": false, "mod_reports": [], "author_patreon_flair": false, "crosspost_parent": "t3_hp32ck", "author_flair_text_color": null, "permalink": "/r/Common_Lisp/comments/hp32td/archive_of_umass_lisp_resources/", "parent_whitelist_status": null, "stickied": false, "url": "https://web.archive.org/web/20070602152438/http://eksl-www.cs.umass.edu/lisp-resources/index.html", "subreddit_subscribers": 4314, "created_utc": 1594437863.0, "num_crossposts": 0, "media": null, "is_video": false}}, {"kind": "t3", "data": {"approved_at_utc": null, "subreddit": "Common_Lisp", "selftext": "", "author_fullname": "t2_leetezs", "saved": false, "mod_reason_title": null, "gilded": 0, "clicked": false, "title": "Just found this great resource", "link_flair_richtext": [], "subreddit_name_prefixed": "r/Common_Lisp", "hidden": false, "pwls": null, "link_flair_css_class": null, "downs": 0, "top_awarded_type": null, "hide_score": false, "name": "t3_hobgl3", "quarantine": false, "link_flair_text_color": "dark", "upvote_ratio": 0.9, "author_flair_background_color": null, "subreddit_type": "public", "ups": 28, "total_awards_received": 0, "media_embed": {"content": "<iframe width=\"600\" height=\"338\" src=\"https://www.youtube.com/embed/3GEAINRCbJ4?feature=oembed&enablejsapi=1\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>", "width": 600, "scrolling": false, "height": 338}, "author_flair_template_id": null, "is_original_content": false, "user_reports": [], "secure_media": {"oembed": {"provider_url": "https://www.youtube.com/", "title": "Common Lisp Tutorial 1: Coin Toss", "html": "<iframe width=\"600\" height=\"338\" src=\"https://www.youtube.com/embed/3GEAINRCbJ4?feature=oembed&enablejsapi=1\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>", "thumbnail_width": 480, "height": 338, "width": 600, "version": "1.0", "author_name": "Neil Munro", "provider_name": "YouTube", "thumbnail_url": "https://i.ytimg.com/vi/3GEAINRCbJ4/hqdefault.jpg", "type": "video", "thumbnail_height": 360, "author_url": "https://www.youtube.com/user/njalmunro"}, "type": "youtube.com"}, "is_reddit_media_domain": false, "is_meta": false, "category": null, "secure_media_embed": {"content": "<iframe width=\"600\" height=\"338\" src=\"https://www.youtube.com/embed/3GEAINRCbJ4?feature=oembed&enablejsapi=1\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>", "width": 600, "scrolling": false, "media_domain_url": "https://www.redditmedia.com/mediaembed/hobgl3", "height": 338}, "link_flair_text": null, "can_mod_post": false, "score": 28, "approved_by": null, "author_premium": false, "thumbnail": "", "edited": false, "author_flair_css_class": null, "author_flair_richtext": [], "gildings": {}, "content_categories": null, "is_self": false, "mod_note": null, "created": 1594357989.0, "link_flair_type": "text", "wls": null, "removed_by_category": null, "banned_by": null, "author_flair_type": "text", "domain": "youtu.be", "allow_live_comments": false, "selftext_html": null, "likes": null, "suggested_sort": null, "banned_at_utc": null, "url_overridden_by_dest": "https://youtu.be/3GEAINRCbJ4", "view_count": null, "archived": false, "no_follow": false, "is_crosspostable": false, "pinned": false, "over_18": false, "all_awardings": [], "awarders": [], "media_only": false, "can_gild": false, "spoiler": false, "locked": false, "author_flair_text": null, "treatment_tags": [], "visited": false, "removed_by": null, "num_reports": null, "distinguished": null, "subreddit_id": "t5_2qi41", "mod_reason_by": null, "removal_reason": null, "link_flair_background_color": "", "id": "hobgl3", "is_robot_indexable": true, "report_reasons": null, "author": "PanamanCreel", "discussion_type": null, "num_comments": 5, "send_replies": true, "whitelist_status": null, "contest_mode": false, "mod_reports": [], "author_patreon_flair": false, "author_flair_text_color": null, "permalink": "/r/Common_Lisp/comments/hobgl3/just_found_this_great_resource/", "parent_whitelist_status": null, "stickied": false, "url": "https://youtu.be/3GEAINRCbJ4", "subreddit_subscribers": 4314, "created_utc": 1594329189.0, "num_crossposts": 0, "media": {"oembed": {"provider_url": "https://www.youtube.com/", "title": "Common Lisp Tutorial 1: Coin Toss", "html": "<iframe width=\"600\" height=\"338\" src=\"https://www.youtube.com/embed/3GEAINRCbJ4?feature=oembed&enablejsapi=1\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>", "thumbnail_width": 480, "height": 338, "width": 600, "version": "1.0", "author_name": "Neil Munro", "provider_name": "YouTube", "thumbnail_url": "https://i.ytimg.com/vi/3GEAINRCbJ4/hqdefault.jpg", "type": "video", "thumbnail_height": 360, "author_url": "https://www.youtube.com/user/njalmunro"}, "type": "youtube.com"}, "is_video": false}}, {"kind": "t3", "data": {"approved_at_utc": null, "subreddit": "Common_Lisp", "selftext": "", "author_fullname": "t2_j6dwn", "saved": false, "mod_reason_title": null, "gilded": 0, "clicked": false, "title": "cl-spark: sparkline \"charts\" in the console", "link_flair_richtext": [], "subreddit_name_prefixed": "r/Common_Lisp", "hidden": false, "pwls": null, "link_flair_css_class": null, "downs": 0, "top_awarded_type": null, "hide_score": false, "name": "t3_hnqe4w", "quarantine": false, "link_flair_text_color": "dark", "upvote_ratio": 1.0, "author_flair_background_color": null, "subreddit_type": "public", "ups": 18, "total_awards_received": 0, "media_embed": {}, "author_flair_template_id": null, "is_original_content": false, "user_reports": [], "secure_media": null, "is_reddit_media_domain": false, "is_meta": false, "category": null, "secure_media_embed": {}, "link_flair_text": null, "can_mod_post": false, "score": 18, "approved_by": null, "author_premium": false, "thumbnail": "", "edited": false, "author_flair_css_class": null, "author_flair_richtext": [], "gildings": {}, "content_categories": null, "is_self": false, "mod_note": null, "created": 1594273825.0, "link_flair_type": "text", "wls": null, "removed_by_category": null, "banned_by": null, "author_flair_type": "text", "domain": "40ants.com", "allow_live_comments": false, "selftext_html": null, "likes": null, "suggested_sort": null, "banned_at_utc": null, "url_overridden_by_dest": "https://40ants.com/lisp-project-of-the-day/2020/07/0124-cl-spark.html", "view_count": null, "archived": false, "no_follow": false, "is_crosspostable": false, "pinned": false, "over_18": false, "all_awardings": [], "awarders": [], "media_only": false, "can_gild": false, "spoiler": false, "locked": false, "author_flair_text": null, "treatment_tags": [], "visited": false, "removed_by": null, "num_reports": null, "distinguished": null, "subreddit_id": "t5_2qi41", "mod_reason_by": null, "removal_reason": null, "link_flair_background_color": "", "id": "hnqe4w", "is_robot_indexable": true, "report_reasons": null, "author": "dzecniv", "discussion_type": null, "num_comments": 0, "send_replies": true, "whitelist_status": null, "contest_mode": false, "mod_reports": [], "author_patreon_flair": false, "author_flair_text_color": null, "permalink": "/r/Common_Lisp/comments/hnqe4w/clspark_sparkline_charts_in_the_console/", "parent_whitelist_status": null, "stickied": false, "url": "https://40ants.com/lisp-project-of-the-day/2020/07/0124-cl-spark.html", "subreddit_subscribers": 4314, "created_utc": 1594245025.0, "num_crossposts": 0, "media": null, "is_video": false}}], "after": "t3_hnqe4w", "before": null}} \ No newline at end of file diff -r 88008e9aeac3 -r 52f9e9c8aa31 test/tests.lisp --- a/test/tests.lisp Tue Aug 11 22:50:46 2020 -0400 +++ b/test/tests.lisp Tue Aug 11 23:09:18 2020 -0400 @@ -37,6 +37,10 @@ (defun v (&rest values) (coerce values 'vector)) +(defun set-equal (x y) + (and (null (set-difference x y :test #'equal)) + (null (set-difference y x :test #'equal)))) + ;;;; Basic Tests -------------------------------------------------------------- (defmacro define-basic-tests (name &rest clauses) @@ -123,6 +127,27 @@ (#(1 2 3 4 5) " [ 1, 2 ,3, 4,5]")) +;;;; Real-World Data ---------------------------------------------------------- +(defmacro define-file-test (name (object path) &body body) + `(define-test ,name + (let ((,object (with-open-file (s ,path) + (jarl:read t s)))) + ;; Check that we can roundtrip it first. + (is (same ,object (jarl:read t (jarl:print ,object nil)))) + ,@body))) + + +(define-file-test github/sjl (o "test/data/github/sjl.json") + (is (string= "sjl" (gethash "login" o))) + (is (= 182 (gethash "public_repos" o)))) + +(define-file-test github/sjl-repos (o "test/data/github/sjl-repos.json") + (is (set-equal '(:true :false) + (remove-duplicates (map 'list (lambda (r) (gethash "fork" r)) o))))) + +(define-file-test reddit/r-common_lisp (o "test/data/reddit/r-common_lisp.json")) + + ;;;; Error Tests -------------------------------------------------------------- (defmacro define-error-tests (name &rest clauses) `(define-test ,name