{"id":25277032,"url":"https://github.com/oglinuk/quines","last_synced_at":"2026-05-07T11:32:34.234Z","repository":{"id":86979341,"uuid":"442606000","full_name":"oglinuk/quines","owner":"oglinuk","description":"Spelunking the depths of self-reproducing programs. My favorite so far is the Frankenquine.","archived":false,"fork":false,"pushed_at":"2022-01-02T17:13:40.000Z","size":26,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-06T10:47:31.051Z","etag":null,"topics":["c","go","python3","quine","self-modifying","self-reproducing"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oglinuk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-12-28T23:10:06.000Z","updated_at":"2023-08-14T06:26:29.000Z","dependencies_parsed_at":"2023-05-30T01:34:56.945Z","dependency_job_id":null,"html_url":"https://github.com/oglinuk/quines","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/oglinuk/quines","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oglinuk%2Fquines","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oglinuk%2Fquines/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oglinuk%2Fquines/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oglinuk%2Fquines/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oglinuk","download_url":"https://codeload.github.com/oglinuk/quines/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oglinuk%2Fquines/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32735128,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-07T02:14:30.463Z","status":"ssl_error","status_checked_at":"2026-05-07T02:14:29.405Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","go","python3","quine","self-modifying","self-reproducing"],"created_at":"2025-02-12T16:27:40.111Z","updated_at":"2026-05-07T11:32:34.219Z","avatar_url":"https://github.com/oglinuk.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Quines: Self-Reproducing Programs\n\nThis is a repository containing different implementations of\nself-reproducing programs. It is not meant to be a showcase of various\nlanguages, but rather a showcase of different implementations/styles in\nthe languages I primarily use.\n\n## What is a quine?\n\nKen Thomposon describes a quine in his paper [*Reflections on Trusting\nTrust*](https://github.com/oglinuk/ken-thompsons-rott-quine/blob/master/rott.pdf)\nas, \"More precisely stated, the problem is to write a source program\nthat, when compiled and executed, will produce as output an exact copy of\nits source.\"\n\n## Why?\n\nAll it does it output it's source? What could be any use of that? The\ndescription given by Ken does not limit the quine to what it can do in\nthe time between starting and outputting its own source. An example of\nwhat I mean is the [self-compiling quines](self-compiling), which compile\nthemselves before outputting their source code. It is my intention to\nexplore the depths of quines and what they are truly capable of.\n\n## Notable Existing Quines\n\n* [quinesnake](https://github.com/taylorconor/quinesnake) - a holy grail of quines, this is the game of snake played over its own source code\n* [quinedb](https://github.com/gfredericks/quinedb) - a quine-based database in BASH\n* [LDCA](https://github.com/mertyildiran/ldca) - self-replicating, self-modifying Assemply program\n* [QuineWars](https://github.com/miguel-sc/QuineWars) - an HTML file, that prints itself out in the Star Wars opening style\n\n## TODO\n\n* [ ] Implement a [basic quine](basic)\n\t* [X] [C](basic/c)\n\t* [X] [Go](basic/go)\n\t* [X] [Python 3](basic/python)\n\t* [ ] C++\n\t* [ ] BASH\n\t* [ ] JavaScript\n\n* [ ] Implement a [hello world quine](hello-world)\n\t* [X] [C](hello-world/c)\n\t* [X] [Go](hello-world/go)\n\t* [ ] C++\n\t* [ ] BASH\n\t* [ ] JavaScript\n\n* [ ] Implement a [self-compiling quine](self-compiling)\n\t* [X] [C](self-compiling/c)\n\t* [X] [Go](self-compiling/go)\n\t* [ ] C++\n\n* [ ] Implement a [self-modifying quine](self-modifying)\n\t* [ ] C\n\t* [X] [Go](self-modifying/go)\n\t* [ ] C++\n\n* [ ] Implement a [frankenquine](frankenquine)\n\t* [traditional](frankenquine/traditional)\n\t* [pseudo](frankenquine/pseudo)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foglinuk%2Fquines","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foglinuk%2Fquines","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foglinuk%2Fquines/lists"}