{"id":18913763,"url":"https://github.com/archenoth/yodesk-notes","last_synced_at":"2026-03-19T07:05:14.687Z","repository":{"id":150483289,"uuid":"160283434","full_name":"Archenoth/yodesk-notes","owner":"Archenoth","description":"My notes when following along Zachtronics' Yoda Stories Reverse Engineering post http://www.zachtronics.com/yoda-stories/ (Except in Lisp)","archived":false,"fork":false,"pushed_at":"2018-12-06T01:45:29.000Z","size":16,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-01T05:34:20.731Z","etag":null,"topics":["org-mode-notes","reverse-engineering"],"latest_commit_sha":null,"homepage":"","language":"Common Lisp","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/Archenoth.png","metadata":{"files":{"readme":"README.org","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,"zenodo":null}},"created_at":"2018-12-04T02:20:56.000Z","updated_at":"2024-04-16T10:45:32.000Z","dependencies_parsed_at":"2023-04-10T03:01:08.273Z","dependency_job_id":null,"html_url":"https://github.com/Archenoth/yodesk-notes","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Archenoth/yodesk-notes","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Archenoth%2Fyodesk-notes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Archenoth%2Fyodesk-notes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Archenoth%2Fyodesk-notes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Archenoth%2Fyodesk-notes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Archenoth","download_url":"https://codeload.github.com/Archenoth/yodesk-notes/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Archenoth%2Fyodesk-notes/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28815111,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-27T12:25:15.069Z","status":"ssl_error","status_checked_at":"2026-01-27T12:25:05.297Z","response_time":168,"last_error":"SSL_read: 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":["org-mode-notes","reverse-engineering"],"created_at":"2024-11-08T10:08:52.332Z","updated_at":"2026-01-27T14:33:25.716Z","avatar_url":"https://github.com/Archenoth.png","language":"Common Lisp","funding_links":[],"categories":[],"sub_categories":[],"readme":"#+TITLE:Reverse Engineering notes for Yoda Stories\n#+AUTHOR:Archenoth\n#+EMAIL:archenoth@gmail.com\n:SETTINGS:\n#+STARTUP: hidestars inlineimages\n#+DRAWERS: SETTINGS\n:END:\n\nThese are the notes I took while following along with Zachtronics' post about reverse engineering a binary file. ([[http://www.zachtronics.com/yoda-stories/][This one]]!)\nThis is one particular discipline I'm both super-interested in, but also not overly skilled with, so something like this is perfect for me!\n\nI actually did a good portion of the Lisp code before creating an Org document for it, so a lot of the notes are looking back and explaining the code I already wrote--which admittedly underwent a few revisions before I even put it in revision control.\n\nI wasn't even going to make a Git Repo for it, but I've found myself explaining what I've been doing a lot recently, plus it's nice to have for my own reference!\n\nSo, without further ado, [[./yodesk.org][here's the file]]!\n\n* Recommendations\n[[./yodesk.org][yodesk.org]] is best viewed in Org Mode, though GitHub renders it reasonably as well. (Though you'll miss out on the cool interactive bits)\n\nAnd speaking of interactive bits, in Org Mode, it's a bonus to have [[https://github.com/joaotavora/sly][SLY]] or [[https://github.com/slime/slime][SLIME]] running in the background with a Common Lisp implementation like [[http://www.sbcl.org/][SBCL]]. Preferably with [[https://www.quicklisp.org/beta/][QuickLisp]] installed to pull down [[https://www.xach.com/lisp/zpng/][ZPNG]] for the image extraction bits, though you can run the overall parser without it.\n\n* Tangling the source\nSince [[./yodesk.org][yodesk.org]] is a literate Org file, you can tangle the entire thing to [[./yodesk.lisp][yodesk.lisp]] and [[./palette.lisp][palette.lisp]] with =C-c C-v t= in Org Mode.\n\nThere are already tangled versions of these files included with this repo--though if you make changes to the org file, this is how you can run it all separately!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farchenoth%2Fyodesk-notes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farchenoth%2Fyodesk-notes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farchenoth%2Fyodesk-notes/lists"}