{"id":23975917,"url":"https://github.com/aumetra/riptide-pixelflut","last_synced_at":"2026-05-16T10:33:25.709Z","repository":{"id":270015691,"uuid":"909134698","full_name":"aumetra/riptide-pixelflut","owner":"aumetra","description":null,"archived":false,"fork":false,"pushed_at":"2024-12-31T13:22:28.000Z","size":70,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-05-13T12:49:20.653Z","etag":null,"topics":["38c3","iouring","meow","pixelflut","pixelflut-client","woof"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/aumetra.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":"2024-12-27T20:26:02.000Z","updated_at":"2024-12-31T13:22:31.000Z","dependencies_parsed_at":"2024-12-31T14:32:07.163Z","dependency_job_id":null,"html_url":"https://github.com/aumetra/riptide-pixelflut","commit_stats":null,"previous_names":["aumetra/pixelflut-lol","aumetra/riptide-pixelflut"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/aumetra/riptide-pixelflut","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aumetra%2Friptide-pixelflut","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aumetra%2Friptide-pixelflut/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aumetra%2Friptide-pixelflut/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aumetra%2Friptide-pixelflut/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aumetra","download_url":"https://codeload.github.com/aumetra/riptide-pixelflut/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aumetra%2Friptide-pixelflut/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33098836,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-16T04:41:52.686Z","status":"ssl_error","status_checked_at":"2026-05-16T04:41:52.009Z","response_time":115,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":["38c3","iouring","meow","pixelflut","pixelflut-client","woof"],"created_at":"2025-01-07T06:52:39.993Z","updated_at":"2026-05-16T10:33:25.692Z","avatar_url":"https://github.com/aumetra.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# riptide\n\nStupidly overengineered pixelflut client produced on more caffeine than sleep at 38C3.\n\n## Architecture\n\n`riptide-process` processes a directory of frames into their RGB representation with their preproccessed hex code representation.  \nIt also does some differential analysis and only draws pixels that changed.\n\nThe file is stored using [`rkyv`](https://rkyv.org/) which allows us to just mmap the preprocessed file and have no deserialization step.\n\nThe actual `riptide` binary then takes various input parameters to configure how the frames are displayed. Most important here is the framerate parameter.  \nMake that match the framerate of the images you previously processed. Otherwise it will look weird.\n\nThe binary will then establish connections with Naegle's algorithm disabled, and run a monoio runtime on each available CPU core.  \nThere are no repeated allocations in the hotloop, it's all either stack allocated or reusing allocations.\n\nThe I/O is handled through the io_uring driver monoio provides. We do some whacky unsafe stuff, but it _should_ all be sound.  \nMiri has obviously not been run over it because we wanted results and we wanted them fast.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faumetra%2Friptide-pixelflut","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faumetra%2Friptide-pixelflut","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faumetra%2Friptide-pixelflut/lists"}