## Why? I've put in my 2 weeks notice. I'll be unemployed soon. There's a lot I want to accomplish. And there will be once I'm employed again. I need to start finding 2-3 hr chunks of time to work on serious projects. I also need time for chores, time for friends, time for Norma. When does what go? Giving up nights/weekend is super hard. Let's ask a different question... What is an ideal weekday? ## Unworkday 08:30am - Get up, walk dogs. 09:00am - Eat something, shower, internet resync. 10:00am - Load brain up, *research time* / [blue-sky] block. (6502 opt, trowel) 11:30am - Make lunch, play/watch a bit of smash, maybe theorycraft. 01:00pm - Settle in for [features] work/test writing. (famiclom, coleslaw) 02:30pm - for dog walking unless _suuuper_ in flow. 03:00pm - Do some work on KingCons.io. [web] 04:30pm - Blog post if inspired. Otherwise, you're done. Have a frosty beverage! Night/weekend as normal. Keep social life & romantic life going strong. :) ## Legend [blue-sky]: speculative projects - 6502 optimization (emulator VOPs, JIT compiler, etc) see starred email: 6502 stuff This is for fiddly optimization/compilers stuff that has always fascinated me but does nothing for actually making the emulator useful or interesting to end users. It is sure to teach me some cool stuff though. speculative project - trowel Trowel is about reverse engineering, static analysis, binary tools. Query DSLs/constraint solvers could be pretty cool. Want something between pattern matching/parser combinators/constraint solver. synthesizer practice? (synth1, tunefish, tal-noisemaker) I'm using renoise but a lot of what I do is try to make songs. This isn't. This is about learning to make sounds. Drawing waveforms in the sampler would be a valid use of this time too. In general, trying to create instruments or learn to use my music software better. [features]: This block is all about pushing actual coleslaw and famiclom functionality forward. 100% about getting stuff working, getting games running, new features. Two broad categories that need work before anything else matters are input and working graphics. After that, memory mappers to play more games are key. Since mappers may be the most fun/easy part of this equation, it's okay if we put em first. This is the project I've lagged the most on the past year. I really want to make headway here finally. Coleslaw work is okay too but of secondary importance. It does need a lot more unit tests so get on that. Anything in the HACKING.md applies, really. [web]: I just bought **KingCons.io**. There's a lot I'd like to do with it, from running my own email server, to running apps like mailpile, xmpp servers, libre.fm, identica/gnu social, dj.kingcons.io maybe, maybe a custom CL app to do a mixture of tweet and link indexing with search. trace.kingcons.io? Anything run on the server should be provisioned with Ansible or Salt. I need to do some docs reading to see what suits my purposes better. From reading some existing CM code in each and articles, leaning Salt. We'll see. ## Conclusion So: Five hours of work a day. But five hours of *good* work is a solid day. Also, split across diverse projects. First hour and a half in morning for "blue sky" work, 3 hours in afternoon for better-understood problems, products rather than experiments, "bricklaying". Could alternately do Mon/Wed/Fri bricklaying, Tue/Thu blue sky work. Not sure if full-day sprints on a single thing would be better or worse for me.