Dozing Off
Written on 2014-05-07 15:13:00
Life is going pretty well. Norma and I have moved into a new apartment. I'm figuring out how to balance work and my other goals. My student loans will be paid off by my 28th birthday in August.
I decided to work from home today. I slept poorly, I think it's the pollen. I've been thinking a lot about what I want lately. Neither Academia nor Industry quite seem to fit. Academia only cares about work that advances the state of the art in specific subfields, Industry only cares about work that advances the bottom line.
My goals don't quite fit in with either of those things. I want to write software to help people understand how other software works. Specifically, a Nintendo Emulator and set of tools for observing and modifying old games on the fly. And so I find myself thinking about how to work fewer hours so I can find more time for my 'art projects' without sacrificing hobbies, relationships, and a social life.
I've been too drowsy today to get meaningful work done on work or hobby projects, but here's what I thought about in the shower:
- I should add a proper JIT compiler to cl-6502 that uses the "compile-to-closures" technique described by xach.
- I should fix trowel so that it can correctly compute the control flow graph of simple (NROM) NES games that aren't self-modifying. Like I meant to do last summer.
- I should implement the UNROM mapper for famiclom using neth, sprocketnes, or tenes for reference if needed. That way, I could play with Mega Man 1 and its annotated code in addition to Super Mario Bros.
- I should start on a lispy macroassembler/compiler to 6502 because there are idioms to capture in these games and neslisp isn't gonna cut it.
- Also, I thought about adding crossposting support and 'embeddables' to coleslaw briefly but that doesn't count. That's my one halfway 'practical' piece of software. People do like to blog.
Seriously, is there somewhere I can do an MFA but really just write weird artsy software for 2 years?
Oh, well. Time to take a nap and then try to write some code to find Biconnected Components in C again.