{"id":15063875,"url":"https://github.com/kabeech/real-dice","last_synced_at":"2025-04-10T11:26:33.506Z","repository":{"id":239996928,"uuid":"801185418","full_name":"kaBeech/real-dice","owner":"kaBeech","description":"Random number generation based on physical media touched by humans","archived":false,"fork":false,"pushed_at":"2025-01-07T23:04:48.000Z","size":182,"stargazers_count":2,"open_issues_count":6,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-24T10:12:21.392Z","etag":null,"topics":["data","dice","haskell","human-computer-interaction","physical","random","random-generation","random-number-generators","rng"],"latest_commit_sha":null,"homepage":"https://hackage.haskell.org/package/real-dice","language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kaBeech.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2024-05-15T18:54:34.000Z","updated_at":"2025-01-07T23:04:49.000Z","dependencies_parsed_at":"2024-06-04T02:46:43.808Z","dependency_job_id":"8460a43f-3c86-4237-9f1d-60c8d874e8c8","html_url":"https://github.com/kaBeech/real-dice","commit_stats":null,"previous_names":["kabeech/real-dice"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kaBeech%2Freal-dice","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kaBeech%2Freal-dice/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kaBeech%2Freal-dice/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kaBeech%2Freal-dice/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kaBeech","download_url":"https://codeload.github.com/kaBeech/real-dice/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248208621,"owners_count":21065203,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["data","dice","haskell","human-computer-interaction","physical","random","random-generation","random-number-generators","rng"],"created_at":"2024-09-25T00:08:24.080Z","updated_at":"2025-04-10T11:26:33.486Z","avatar_url":"https://github.com/kaBeech.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Real\\* Dice\\* [![Hackage](https://img.shields.io/hackage/v/real-dice.svg)](https://hackage.haskell.org/package/real-dice)\n\nRandom number generation using real dice and other media that I actually touched!\n\n## Introduction\n\nSometimes the digital world can feel cold and sterile compared to the messy and unpredictable nature of our physical environment. Purely functional languages like Haskell are, for better and for worse, particularly susceptible to this digital de-messification\n\nIn celebration of Haskell's determinative nature, this package provides random data from my interaction with the physical world as well as utilities to leverage this data for random number generation and other RNG-based tasks\n\nThis package can be used to bring a human touch to our digital world\n\n## Use\n\nThe API of the Coin, Die, and RNG modules more or less match the API of System.Random's `random` and `randomR` functions, but with each function handling a specific type and domain. For example, `flipCoin` returns Boolean values and `roll1d n` returns Integers in the range [1, n]\n\nRunning the executable will produce the standard randomized data as defined in the Generate modules (see `app/Generate/` and `src/RealDice/Generate/`). If valid seed data exists in the `data-seed/` directory, this will be randomized with the Real\\*Dice\\* data to generate custom balanced data in the `data-generated/` directory (Coming Soon!)\n\n## FAQ\n\n### How does Real\\*Dice\\* work?\n\nCheck the source, [Hackage](https://hackage.haskell.org/package/real-dice), or Hoogle for documentation! \n\nThe RNG system itself is a basic randomized table lookup. If it's good enough for [the most perfect software ever written](https://www.youtube.com/watch?v=pq3x1Jy8pYM\u0026t=32s), it's good enough for me!\n\n### What changes are planned?\n\nCheck the [issues](https://github.com/kaBeech/real-dice/issues`) and `TODO.md`!\n\n### I encountered a bug or have a cool feature idea!\n\nPlease [open an issue](https://github.com/kaBeech/real-dice/issues/new) or [submit a PR](https://github.com/kaBeech/real-dice/compare)!\n\n### Why are there asterisks in \"Real\\*Dice\\*\"?\n\n[Ce ne sont pas des dés](https://en.wikipedia.org/wiki/The_Treachery_of_Images)\n\nData contained in this project was generated with physical dice, but the project itself is not a physical object\n\nAdditionally, not all of the gathered data comes from rolling dice. Most of it comes from drawing poker chips, which can be much faster. Methodology for gathering the data is documented in `src/RealDice/Generate/RawData.hs`\n\n### ...but why? On the whole thing?\n\nBecause it's cool.\n\nThe interaction between the digital world and the physical world fascinates me. Musicians love to talk about warmth and saturation in audio signals - see [Variety Of Sound](https://varietyofsound.wordpress.com/blog/) for some mind-blowing information and audio plugins. This warmth traditionally comes from signal imperfections springing from physical components. This package doesn't scratch the surface of this kind of signal theory, but it's an attempt to use the physical world to influence the digital one\n\nPlus, we all know that observer interaction affects quantum systems, so it seems fun to have some random data touched by a human 😸\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkabeech%2Freal-dice","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkabeech%2Freal-dice","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkabeech%2Freal-dice/lists"}