On this page:

Weekly review: Week ending November 7, 2014

This week was about getting back into the swing of several projects: Emacs, Japanese, Quantified Awesome and one of the personal projects I’m working on. Also, we picked up the LEGO Movie videogame, which is turning out to be lots of fun. =) I’m taking it pretty easy at the moment because there’s lots of stuff on the go.

… Oh. Now that I look at all the things I’ve crossed off, it deosn’t seem like I’ve been taking it easy. Funny how that works. Thank goodness for TODO lists!

Blog posts

Sketches

Link round-up

Focus areas and time review

  • Business (38.5h – 22%)
    • Earn (15.3h – 39% of Business)
      • E1: Brainstorm prototypes I want to propose
      • Earn: E1: 2.5-3.5 days of consulting
    • Build (20.5h – 53% of Business)
      • Drawing (0.9h)
      • Delegation (0.0h)
      • Packaging (0.0h)
      • Paperwork (2.8h)
        • Apply updates from bookkeeper
        • Send trial balance and general ledger to accountant
        • Sort out invoice/deposit thing
      • Plan business and delegation for this phase
      • Set up Guard again
      • Set up Skewer
    • Connect (2.8h – 7% of Business)
      • Plan for office hours
      • Process Quantified Self videos
  • Relationships (3.9h – 2%)
    • File insurance paperwork
    • Coach Lucas on programming
  • Discretionary – Productive (23.4h – 13%)
    • Emacs (5.6h – 3% of all)
      • Figure out how Michael’s smartparens is showing rainbow colours for the blocks
      • Get the hang of smartparens
      • Log editing inefficiencies, keep track of annoyances. Then you can go through them when you have time.
      • Organize Emacs Hangout
      • Pick a different keychord instead of hs for seeking to seconds, or maybe turn it on only when transcribing
      • Quick clocking in on a task, or jumping and clocking task
      • Quick way to capture little thing to experiment with in Emacs
      • Rebind other-window
      • Set up and get the hang of Skewer
      • Set up and get the hang of autocompletion
      • expand-region
    • Japanese
      • Added counters to my Anki decks
      • Find a good resources for learning about Japanese counters
      • Minna no Nihongo Chapter 10
      • Minna no Nihongo Chapter 11: Counters
      • Minna no Nihongo Chapter 12
      • Minna no Nihongo Chapter 13
    • Quantified Awesome
      • Fix login form
      • Fix pagination
      • Fix sparklines
      • I can give someone access to my grocery list
      • Make list entry closer to my design
      • Update to Rails 4.1
      • Upgrade localhost to next version of Ubuntu
      • Wireframe design for groceries
      • Work on Angular interface for grocery list
    • Other
      • Organize a journal section in my notes
      • Trim my organizer.org file
      • Split up book notes into individual files
    • Apply for passport
    • Ask two guarantors for passport
    • Get passport pictures
    • Move my dentist appointment
    • Pick up cultural access pass from Front and Parliament
    • Writing (6.8h)
  • Discretionary – Play (9.7h – 5%)
  • Personal routines (24.1h – 14%)
  • Unpaid work (15.7h – 9%)
  • Sleep (53.9h – 32% – average of 7.7 per day)

Rethinking delegation

I’ve been distracted for the past two months, since I’ve been focusing on consulting more than on my personal projects. Now that things are stable again, I’d like to see if I can make better use of delegation as a way to expand my capabilities, learn more, and spread the opportunities. There are so many people with talents and skills out there, and there must be a way that I can get the hang of this.

The purpose of going into business is to get free of a job so you can create jobs for other people.

Michael E. Gerber, The E-Myth Revisited: Why Most Small Businesses Don’t Work and What to Do About It (1995)

What’s getting in my way?

Mostly it’s that I haven’t sat down and thought about:

  • The projects I’m willing to invest money into, in addition to time – although maybe I should just treat my time as fungible and delegation as a skill that’s worth learning anyway, so I should open up all my personal projects for consideration
  • Specific processes that I want to delegate, although I do have a decent-sized process library that I even share publicly
  • How I can reduce my involvement in things that are tied to me personally, and focus more on things where I can bring in other people

I also have some guilt about the distinction between tasks I can definitely defend as being business-related, and tasks that are much more personal. For example:

  • Reviewing my accounting records and draft tax return – Definitely business.
  • Transcribing Emacs Chat sessions and recorded presentations – Well… Technically, people sometimes pay me for Emacs-related things and I’m working on packaging some things up as pay-what-you-can guides, so that’s okay, I guess?
  • Filling in recipes from Hacklab cooking nights – Definitely personal

The main benefit of claiming things as a business expense is saving roughly 15% in tax, but if that’s mentally getting in the way of my just taking advantage of this, I should totally switch the contracts over to my personal credit card and just go for it until I’ve gotten the hang of this again. I’m nowhere close to my target of fully replacing the hours I’ve spent earning during this experiment (2829.6 hours worked, 486.8 hours delegated through oDesk, plus more through Paypal). But on the flipside, I don’t want to assign makework that I really should just automate or eliminate. Although maybe I should challenge myself to find something useful, since that gives people an opportunity to work and to improve their skills.

Anyway.

wpid-2014-11-01-More-thoughts-on-delegation.png

Stuff I don’t particularly enjoy doing, but that could help:

  • Setting up events, coordinating with people, etc.
  • Comparison-shopping
  • Data entry
  • Organizing

What would “getting the hang of this” look like? Future Sacha would:

  • Have these beautifully documented step-by-step processes for consistently getting stuff done, with enough volume and throughput that things happen consistently
  • Work with people who are also improving their skills and doing well

Hmm. One of the things I’m looking forward to learning at work is the ability to sketch out a design or give some tips on how to do a report (which tables, what existing report to build on, etc.) and have someone else learn by doing it.

Maybe what I need is something like that for my personal projects, too. If I get better at sketching out what I want, then I or someone else can make it happen. For example, with Emacs Chats and Emacs Hangouts, I’d like to eventually get to the point of:

  • Having a list of questions or topics I’m working my through
  • Having a page where people can see the things I’m curious about and volunteer to chat with me about them
  • Coordinating with those people about when we’re both available
  • Sharing a calendar and events where people can see upcoming entries
  • Getting everything recorded, processed, summarized, transcribed, and blogged about
  • Harvesting interesting snippets for a guide

And for Quantified Self Toronto:

  • Picture of sign-up whiteboard + copy of videos = processed videos uploaded and blogged about

For Hacklab and cooking:

  • Picture of food + links to recipe = blog post draft with recipe ingredients, photo, links to recipes = updated wiki page

And a few experiments with Fiverr and other micro-outsourcing sites, too, just because.

You know, even if I don’t end up feeling comfortable with calling those business expenses, I’m fine with it being a personal donation, since the communities are awesome. And it’s stuff I would probably end up doing anyway because it’s the Right Thing to Do.

Although it might be interesting to someday build a business around helping developers become even better… Hmm.

Experimental Emacs Hangout 2014-11-05

Event page has some comments: https://plus.google.com/events/cib5nqidkg6mpurtfuq60i2quik

YouTube page: http://www.youtube.com/watch?v=rmGTNzfit2A

Links:

Apologies for the recording weirdness – I was experimenting with the feature that lets you occasionally focus the video feed on a specific person instead of letting it switch based on volume, and sometimes I forgot that I had that on while other people were talking. Also, I was having screensharing weirdness. And I was writing down notes on a Post-It somewhere in order to minimize typing noises, but I seem to have made the note vanish (yay nerves). But hey, zeroth episode, and we’ll keep on making it better! =) If you want to add notes/highlights in the comments for this blog post, that would be awesome.

Next one Nov 19 Wed 1-3 PM EST – I’ll redirect http://sach.ac/live to it, so you should be able to find it there at that time. =)

Cooking at Hacklab: Coconut barfi

It took me an hour to get from downtown to Hacklab on a stop-and-go Queen streetcar. Next time, I should probably take the King streetcar instead, or even go all the way north to Bloor and then south on the Dufferin bus. Anyway, I’d given myself enough of a buffer to not feel horribly guilty about being late meeting people who were expecting me there around 6-ish anyway, and that was when I made it. Max was already there when I arrived, and Gabriel joined us when we were at the supermarket picking up groceries.

Chris and Alaina were busy making two courses (korma and hot-and-sour soup), so I figured we’d go with an Indian vegan dessert to accompany the korma. Some rapid Googling turned up this Coconut Barfi recipe from Diwali Sweets (by way of Veg Recipes of India’s review). We made a triple batch of the following recipe:

  • 1/2 cup semolina flour (we used medium, but this might be better with fine)
  • 1/2 cup dry coconut flakes (we used shredded)
  • 1 tablespoon coconut oil
  • 2 tablespoons chopped cashew pieces (got roasted cashews from the bulk bin so that we could snack on them while cooking)
  • pinch of salt

For the sugar syrup:

  • 1/2 cup ground raw sugar (we used turbinado sugar, couldn’t find anything raw)
  • 3 tablespoons water
  • 1/8 to 1/4 teaspoon cardamom powder (we ended up grinding our own, since the nearby supermarket doesn’t stock powdered cardamom)

It took longer to make the sugar syrup than expected, but then again, I’m pretty new to syrup making, so I wasn’t quite sure what “one thread consistency” meant. Anyway, it still turned out as nicely cardamom-scented nibble, crunchy without being jaw-breaking.

Gabriel generously remarked that the amount of salt I added made it remind him of salted caramels. I think perhaps a smaller pinch would do next time.

It was lots of fun cooking with both old friends and new acquaintances, and the kitchen at Hacklab supports having multiple people quite nicely (aside from a bit of stove coordination when we had three things on the go). Yay cooking!

Coconut Barfi recipe

Emacs, coaching, and unknowns: Figuring out what I want to learn

I’ve been playing around with the idea of hiring an Emacs coach, since Steve Purcell, Christopher Wellons, and Bastien Guerry all offer this service. It helps to go in with a clear idea of what I want to learn, though, so let me figure this stuff out.

Here are some general topics, sketching out an order for learning the subtopics:

  • Thinking syntactically, so that I can work faster and more reliably
    1. Expand-region: Faster selection.
    2. Smartparens: Logical manipulation. This is probably the biggest chunk.
    3. Erefactor, redshank: Other tools for working with Lisp.
    4. Magit: Thinking of changes in terms of commits; low priority because I rarely need to coordinate with others, although I can bump this up if working on community code
    5. In general, working with larger chunks – so also projectile and other cool tools
  • Web development workflow, so I can work more professionally and handle more complexity. Focusing on Rails, NodeJS, and AngularJS
    • Rails workflow
      1. Testing
      2. Constant testing with guard, better interaction with browsers, etc.
      3. Navigating between files in a project with Rinari or Projectile
      4. Code navigation and documentation lookup with Robe
      5. Working with things like HAML, Sass/Less, CoffeeScript
      6. Refactoring Ruby code
    • Javascript workflow
      1. Testing frameworks, running tests
      2. Getting autocomplete sorted out
      3. Integrating Skewer into the way I work
      4. Working with things like HAML, Sass/Less, CoffeeScript
      5. Rapid prototyping: Grunt, Yeoman, etc.
    • General-purpose tools
      1. Folding/overview, imenu?
      2. Jumping to specific points quickly – ace-window, ace-jump, helm-swoop
  • Integration, so that I can take advantage of Emacs in more parts of my life
    1. Organizing my journal
    2. Trying out Elnode so that I can expose Emacs information to Javascript
    3. Getting back to doing mail in Gnus
    4. Using MobileOrg to review Org on the go?
  • Internals, debugging, and contributing to the community so that I can help out, and so that I can customize and debug more extensively
    • Emacs core, Org internals, syntax, font-locking, indentation, macros, Helm, …

Coaches are also good for pointing out what you don’t even know you don’t know, which is a lot when it comes to Emacs. That’s another nice benefit of having someone look over your shoulder – they can catch you doing something in a round-about way even if you don’t even know that a more efficient way exists. But even with the stuff I know I don’t know (and that I have a reasonable plan for learning), there’s plenty to keep me occupied for the next few years. =) Besides, helping out on IRC and in mailing lists/newsgroups will expose me to stuff I don’t know too.

So instead of turning up on one of these people’s (virtual) doorstops and asking, “Can you teach me all the stuff I don’t know?”, maybe this is what I can do instead:

  • Lay the groundwork by writing about and demonstrating the things I do know, so that I explore my limits, help other people learn, possibly get suggestions from random passers-by, and help potential mentors/coaches quickly get a sense of what I might be missing
  • Double-check my plans for learning different things with more experienced people who can give me feedback on sequence, exercises, and things I should include
  • Develop plans for deliberate practice of different components; slow down and notice opportunities to try things out
  • Share what I’m learning and my plans for what to learn next
  • Touch base once in a while

So much to learn! =)

Monthly review: October 2014

I wrote last month that in October, I was planning to:

  • Help with the last big milestone for my consulting client
  • Turn over all of my responsibilities and document things I’ve learned
  • Cook at the new Hacklab and explore more recipes at home
  • Do my corporate books: this year, I added dividends and HST quick method!

Big milestone successfully passed, hooray! There are still a few minor hiccups that the team’s working through, but that’s normal. In other news, I signed a new contract, and we have a new team member too. That means I don’t actually have to disappear abruptly, and I can gradually document and transfer what I know.

I’ve been having a lot of fun cooking at the new Hacklab. We invested a lot in kitting out the new kitchen, and that’s really paid off. It’s more comfortable cooking with all those tools and all that counter space. Whee! You can check out our notes in the public wiki.

I’m waiting to hear back from the bookkeeper I hired through oDesk before submitting my corporate tax return and my HST return this year, but even if I have to do it on my own, I feel reasonably confident about my numbers.

In November, I plan to:

Sketches:

  1. 2014.10.06 Sometimes – often – I don’t feel like making conversation
  2. 2014.10.11 Considering winter coats
  3. 2014.10.21 Exploring my current motives
  4. 2014.10.21 Reflecting on my primary motives
  5. 2014.10.22 On Hell Yeah and other approaches
  6. 2014.10.22 People who follow similar motivations well
  7. 2014.10.22 What kinds of activities do I want to fully enjoy
  8. 2014.10.22 What would I like to be able to do with sustained motivation
  9. 2014.10.31 How do I want to become a better developer
  10. 2014.10.31 What do I want from this phase of my experiment
  11. 2014.10.31 What do I want the rhythm to feel like