{"id":16115593,"url":"https://github.com/byron/mars-rover","last_synced_at":"2025-07-01T09:06:26.628Z","repository":{"id":66230025,"uuid":"134953391","full_name":"Byron/mars-rover","owner":"Byron","description":"An implementation of the mars rover coding challenge in Rust the way I would love to see it ","archived":false,"fork":false,"pushed_at":"2021-06-11T11:33:03.000Z","size":38,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-06T08:37:02.679Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Byron.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2018-05-26T10:52:55.000Z","updated_at":"2022-05-22T13:49:40.000Z","dependencies_parsed_at":null,"dependency_job_id":"2b319378-66c1-4784-9771-6d71ea71f7a3","html_url":"https://github.com/Byron/mars-rover","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Byron/mars-rover","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Byron%2Fmars-rover","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Byron%2Fmars-rover/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Byron%2Fmars-rover/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Byron%2Fmars-rover/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Byron","download_url":"https://codeload.github.com/Byron/mars-rover/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Byron%2Fmars-rover/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262933311,"owners_count":23386783,"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":[],"created_at":"2024-10-09T20:19:13.498Z","updated_at":"2025-07-01T09:06:26.589Z","avatar_url":"https://github.com/Byron.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Goal\n\nSolve the mars rover problem the way I would like it, in Rust.\nTry to be as idiomatic as possible, and consider the answer the main user\nvalue to provide. Thus that and only that MUST be tested, anything else \nis 'extra', like actually testing for a few things the user can run into.\n\n## Getting the answers\n\nRun `make answers` if your `rust` installation is at least at v1.26.\nIf you have no `rust` but `docker`, run `make answers-in-docker`.\n\nIn any case, you can run all `make` targets using docker via `make interactive-developer-environment-in-docker`.\nPlease be warned that initial compilation takes a while.\n\n## Features\n\n* [x] shows correct answers\n* [x] fully streaming with minimal state\n* [x] support for profiling\n* [x] support for benchmarking\n* [x] support for linting\n* [x] interactive developer environment in docker\n\n## Benchmark Results\n\nThe Rust release binary comes in at 482kb on OSX (stripped). Max-heap is 412kb, and it processes a 7MB file in 196ms.\nAmount of lines of code is 138, with 33 lines of bash for journey tests.\n\nOne Java implementation comes in at 324 lines of implementation code. After some wrangling I was able to run it on the actual benchmark input,\neven though I couldn't get it to finish the run in any reasonable amount of time.\n\nAnother Java implementation had 345 implementation code, and I couldn't run it either as it was not accepting file input.\n\nAn implementation from github (https://github.com/max-winderbaum/Mars-Rover-Code-Challenge) used node, with 384 SLOC, while running\nit consumed 103MB, and... it also didn't finish in a reasonable time so I had to abort it.\n\nAnd I tried to find a few more, but none were in a state that could run a file :(.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbyron%2Fmars-rover","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbyron%2Fmars-rover","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbyron%2Fmars-rover/lists"}