Category Archives: kaizen

On this page:

Figuring out how my temporary sleep schedule interacts with programming, writing, and drawing

I was thinking about how I can use these snippets of time to improve in programming, writing, and drawing. I realized that although I can easily imagine how other people can write or draw using fragmented time (writers scribbling in notebooks on top of washing machines, artists doodling on the subway), programming seems a lot less tractable. It doesn’t feel like you can break it up and squeeze it into different parts of your day as much.

It is generally accepted that context switching is evil when it comes to programming. So I’ve been carrying around this idea that Real Programmers are people who can pull all-nighters hacking on tough problems, holding elaborate structures in their heads. Your standard hero programmer stereotype, with the pinnacle being someone either building complex, cool stuff, possibly maintaining large and useful open source software.

Hence this little mental disconnect. I’m pretty certain I can get there someday if I really want to, but probably not if I extrapolate from current circumstances. Even maintaining a tiny piece of software sounds like more commitment than I want at the moment. (Heck, I might go a week without responding to e-mail.)

Fortunately, I spent my first few working years in a corporate environment, where mentors showed me that it’s totally possible to be an Awesome Geek while still working a roughly 9-to-5 job, having families and hobbies, and getting plenty of sleep. Thank goodness. So I have this alternate model in my head, not of a Hero Programmer, but rather of solid contributors who keep making gradual progress, help teams of people become more productive, and who enjoy solving interesting challenges and expanding their skills.

So let’s say that I want to play with my assumption that programming is the sort of thing that’s hard to squeeze into the nooks and crannies of one’s day, at least not the way writing and drawing can. I know that I can go through technical documentation and design resources even if my mind isn’t completely awake, and I can still pick up useful things.

What is it about writing and drawing that make them suitable even in small doses, and how can I tweak programming? Writers can think about stuff during other activities. I can reflect on ideas while walking or cooking, for example. When I program, I still need more of that back-and-forth with a computer and an Internet connection, but maybe I’ll need less of that as I develop more experience. I can set pen to paper during any spare moment, sketching a quick line and seeing where it takes me from there. I might not be able to do that with implementation, but I can use that same playfulness to explore design. Behavior-driven development makes it easier to break projects down into tiny, clear steps, and have a way of verifying progress (without too much backsliding!). Getting deeper into frameworks and tools will help me do more with less effort when I do sit down at a computer.

Okay. I can do this. Worst-case scenario, I just move slowly until I get past this particular phase. I’ve seen role models who’ve pulled that off well, so that’s totally cool. Best-case scenario, I figure out how to hack around some of my current cognitive limitations, and maybe that might help other people who find themselves in the same situation too.

This could work.

Planning little improvements

I like re-planning when things are a little bit clearer and when things change. It’s nice to take a look at where I am, where I might get to, and maybe what I can do with more reinvestment.

wpid-2014-11-01-Baselines-and-possible-improvements-part-1.png wpid-2014-11-01-Baselines-and-possible-improvements-part-2.png

A year still feels a little abstract. A 12-week span might be interesting for concrete goal-setting and momentum; maybe something to experiment. In any case, here’s a small achievement list I can work towards…

  1. Development
    • Propose a calendar of prototypes with business-value descriptions
    • Design prototype and help team members write it instead of coding it myself
    • Think syntactically
  2. Reporting
    • Make Tableau reports snappy
    • Identify business questions for a valuable regular report
    • Analyze my own data in R
  3. Writing: Put together the intermediate Emacs config guide
  4. Drawing: Sketch people quickly
  5. Cooking: Map the families of recipes I want to try, and try them
  6. Learning: Map the things I know and what I want to learn, and maybe find a coach
  7. Tracking: Do grocery tracking in Quantified Awesome
  8. Making: Sew those box cushion covers
  9. Organizing house stuff
    • Simplify wardrobe
    • Tile floor
  10. Biking: Maybe bike in winter
  11. Pet care: Get Luke used to the toothbrush
  12. Exercise: Do the exercise ladder for twelve weeks
  13. Relationship: Work on more projects together
  14. Community:
    • Set up Emacs hangout experiment
    • Hang out at Hacklab during winter

Avoiding spoilage with bulk cooking

We’d been letting some vegetables and cooked food go to waste, so I’ve been tinkering with how we prepare our meals in order to reduce spoilage. Here’s how we now cook in bulk.

During the weekend, we review the past week’s leftovers and freeze them as individual meals. We packaging food in individual lunch-sized containers (~500g, including rice) until the freezer is full or the fridge leftovers are done. I label the containers using painter’s tape and a marker, writing down the initials of the recipe and a number for the month. For example, chicken curry prepared in July is labeled CC7.

I prepare one or two types of dinners. I usually pick bulk recipes based on what’s on sale at the supermarket. If there are unused groceries from the previous week (sometimes I end up not cooking things), I prepare a recipe that can use those up: curry, soup, etc. I start a large pot of rice, too, since I’m likely to use that up when packing individual meals and we go through a lot of rice during the week. We’re more likely to enjoy the variety if it’s spread out over the coming weeks. Freezing the leftovers means we can avoid spoiling food out of procrastination.

After the food is cooked, I put portions into our large glass containers. That way, we have a little room to cook fresh dinners during the week (which W- likes to do), but we also have some backups in case things get busy. We alternate the prepared dinners for variety. For some meals that are inefficient to portion out, I just keep the entire pot in the fridge. If there’s more, I’ll freeze the rest as individual portions. If the freezer is full, I’ll keep the extras in the fridge.

When it comes to the freezer, individual portions are much more convenient than larger portions. You can take one to work and microwave it for lunch. Sometimes I pack larger portions (ex: pizza, pasta sauce), so we need to plan for that when defrosting them. If a dinner portion is thawed in the fridge, it has to get eaten since it can’t be refrozen (unless we re-cook it, which we rarely do).

Our costs tend to be between $1.50 and $3 per portion. For example, the Thai curry I made last time resulted in 20 portions out of $22.39 of groceries. Even if you account for the spices and rice in our pantry, it still comes to a pretty frugal (and yummy!) meal. Sure, there’s labour and electricity, but I enjoy cooking and we schedule it for the lower electricity rates of the weekend. Well worth it for us, and we’re working on getting even better at it.

Aside from reducing spoilage, I’m also working on increasing variety, maybe cooking smaller batches and cooking more often during the week. I’d still like to use the freezer to spread out meals over an even longer period of time so that we can enjoy different tastes. Getting the hang of spices, ingredient combinations, and cooking techniques will help me with variety, too. So much to learn! =)

Routines

Routines are like solidified learning, the habits shaped by little pay-offs. You make all these decisions one at a time, and as you find things that work, they get absorbed into your routines.

I love having fairly stable routines. They minimize thinking and allow me to estimate time well. For example, my regular breakfast is rice and one fried egg, so it’s easy to make sure I’ve got both in stock. My morning routine takes me about an hour from the time I wake up to the time I head out on my bicycle or go to the subway station, although I can compress it by skipping blogs and having cereal instead of rice and egg. It takes me about fifty minutes to get downtown. My evening routine involves an early dinner (heating up stuff from the fridge), some exercise, cleaning up, and some writing or drawing. My weekends are a little more flexible. As long as groceries, cooking, laundry, and tidying up happen, we’ll be set for the next week.

2014-08-20 Routines

2014-08-20 Routines

I have a lot of routines, but I don’t want them to ossify. I like turning my attention on one routine at a time, being mindful during it, looking for little ways to tweak it. For example, there are lots of ways I could tweak my evening routine, especially during jogging days. If I make the sequence dinner-tidy-read-jog-exercise-litterbox-shower-snack-draw, I think that would work out better in terms of winding down – less waiting for my hair to dry. I If I can juggle the timing so that the jog happens before the library closes, bonus!

2014-08-20 Evening routines

2014-08-20 Evening routines

I’m tweaking my thinking/drawing/writing routines too, so I expect some growing pains – things might get a little weirder before they become smoother. It’s good to anticipate this, because otherwise you get stuck at a local maximum instead of being able to explore. In particular, I’m experimenting with drawing more reflections during the week, and then using them as springboards for writing during the weekend. This should spread out my computer use a little bit, encourage me to practise drawing, and possibly lead to interesting places.

It’s fun to be deliberate about your habits. You get to ask yourself, “Why do I do things that way, and in that sequence? How can I experiment with this?”

Tweaking the way I write

Through writing, I want to:

  • Learn more effectively and efficiently by taking notes and chunking my thoughts
  • Understand and be able to articulate what I’m thinking
  • Keep notes for future reflection and time travel
  • Connect with people who have similar interests
  • Help other people save time

I’m pretty happy with how I’m doing this so far, although it would be even better if I could write more efficiently and effectively. What would that look like, and how could I move towards that?

I pick up a lot of information from reading and from trying things out. If I spend more time reviewing notes and experimenting with concepts, that will help me get more out of the time that I spend reading. Wouldn’t be neat if my personal stash of quotes (my digital commonplace books) linked each note with a blog post reflecting on what I found interesting about it, how I’ve applied it, and what it’s related to? I think that would be handy.

Sometimes I find myself particularly interested in an idea, and writing is easy. Other times, the spark isn’t quite there, or the kindling is scattered. I have a massive outline/list of things to write about. Sometimes it seems a little odd writing about stuff, though. Lackluster? But maybe giving myself different recipes for blog posts can help (a personal story, a book quote, etc.). I can also look at it as practice. I have years and years to write, and I can learn a lot when I practise deliberately and dispassionately.

For reflection and review, I can write regular snapshots of what’s going on in my life and what I’m trying to figure out. These usually give me enough anchors to remember more.

To make it easier to connect with other people, I can ask people if they blog, and I can post more of my personal stories on my blog.

I’ve been writing more selfishly rather than focusing on saving people time, but I’m sure that balance will shift at some point too. I tend to find it easy to blog helpful things when I’m immersed in projects or in answering people’s questions, so it’s probably just a matter of focusing on open source again.

As I write more, I’ll get faster, and I might even get clearer. :) I can build on what I’ve previously written. I’ll get a better sense of what I like and don’t like in writing, and I’ll experiment with the influences of other writers.

So let’s say that it takes me about an hour or two to follow a thought and write it down. I’m not really looking for speed here. I don’t need to be able to crank one out in fifteen minutes. It might be good to be able to work in small chunks (headline, outline, snippets) to take advantage of the moments that come up during a day. It would also be good to be able to work coherently – to build up to more complex thoughts, to untangle harder questions. That’s probably what better writing looks like for me. As for beauty form and flow, I can probably pick that up through analysis and practice, but it’s somewhat reassuring to know that people can think (and share) complex thoughts despite being inelegant writers. (Almost impenetrable, even!)

How do I want to change how I write? Well, I can use my phone more, writing instead of reading when I have a free moment on the go. If I feel a little blah when writing at my computer, I can open my book notes and expound on a passage. I can also pick something from my outline and sketch out the next level, tell a story, or look for ways to test it in life (and add a reminder to come back and write about the results). I can embrace the way that many of my blog posts are more like “here’s where I am, there’s where I’d like to go, here’s what I’m going to try” rather than fonts of wisdom. Hey, maybe it will be amusing (or even useful) looking back, forty years from now. We’ll see!

Teaching myself to prefer what’s good for me

One of the ideas I’m mulling over from this study of ancient Greek philosophy is this: Instead of using willpower to get through things you don’t like, you can learn to appreciate the things that are good for you or gradually move up through activities that you enjoy and that are a little better for you than what you were doing before.

I’ve been trying this idea in terms of exercise. Having decided that I would be the type of person who exercises, I’ve been keeping up this habit for a little over a month. I usually run with W-. He treats those sessions as recovery runs (he’s much fitter than I am and can run circles around me), and I treat them as “extra time with W- and an occasion for smugness.” I’m not yet at the point of experiencing the runner’s high, but I do feel somewhat pleased by this ability to keep up with the heart rate thresholds that should help me build up endurance. I’ve even gone for runs on my own, propelled by growing custom and the knowledge that I’m going to be able to celebrate whatever progress I’m making. Gradual progress through the Hacker’s Diet exercise ladder is fun, too.

In terms of food, I’m finally beginning to appreciate the sourness of yogurt, the peppery taste of radishes, and other things I’m still not particularly fond of but can deal with.

As for substitution, keeping a range of nonfiction books in the house means I’m less inclined to spend time playing video games. Latin and Japanese flashcards on my phone mean less time reading fiction. A file full of writing ideas means less time spent browsing the Web.

We change a little at a time. It’s good to pay attention to your changing tastes, and to influence them towards what’s good for you. Sometimes you can kick it off with a little bribery or willpower, if you use that temporary space to look for more things to appreciate. Sometimes you can encourage yourself by making better activities more convenient. Good to keep growing!