https://github.com/archenoth/yodesk-notes
My notes when following along Zachtronics' Yoda Stories Reverse Engineering post http://www.zachtronics.com/yoda-stories/ (Except in Lisp)
https://github.com/archenoth/yodesk-notes
org-mode-notes reverse-engineering
Last synced: 16 days ago
JSON representation
My notes when following along Zachtronics' Yoda Stories Reverse Engineering post http://www.zachtronics.com/yoda-stories/ (Except in Lisp)
- Host: GitHub
- URL: https://github.com/archenoth/yodesk-notes
- Owner: Archenoth
- Created: 2018-12-04T02:20:56.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2018-12-06T01:45:29.000Z (about 7 years ago)
- Last Synced: 2025-06-01T05:34:20.731Z (9 months ago)
- Topics: org-mode-notes, reverse-engineering
- Language: Common Lisp
- Homepage:
- Size: 15.6 KB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.org
Awesome Lists containing this project
README
#+TITLE:Reverse Engineering notes for Yoda Stories
#+AUTHOR:Archenoth
#+EMAIL:archenoth@gmail.com
:SETTINGS:
#+STARTUP: hidestars inlineimages
#+DRAWERS: SETTINGS
:END:
These 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]]!)
This is one particular discipline I'm both super-interested in, but also not overly skilled with, so something like this is perfect for me!
I 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.
I 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!
So, without further ado, [[./yodesk.org][here's the file]]!
* Recommendations
[[./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)
And 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.
* Tangling the source
Since [[./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.
There 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!