On this page:

Planning ahead for the stories

Sometimes, when you take risks or make decisions, it helps to think about how your choices affect your story. We all tell stories. Stories are how we make sense of things. The same set of facts can support many different kinds of stories. The story you choose to tell–the perspective you pick–affects how other people see you or make sense of your life.

stories

When I was planning this experiment with semi-retirement, thinking about the stories that I could tell helped me make that jump. How would I explain that gap in my career if I decided to work someplace where that could matter? After all, most employers want commitment, not gaps.

It helps that I’ve been able to plan ahead. Having enough savings to cover five years of expenses lets me tell a different story compared to someone who quit a job without having anything else lined up. Leaving my job on a happy note is different from leaving because I was burned out. Structuring this break as a time-limited experiment helps me make sense of it. I incorporated right away, and eventually came up with a company name that was general enough to cover a lot of different things I was interested in exploring. If I tell the story in the right way, then the five years that I’ll spend outside the easily understandable structures of work will give me a different but possibly useful perspective. If I don’t have a story to tell, it will just look like drifting.

The human brain is really good at rationalization, so you can come up with multiple stories to fit your facts. You don’t even need to make things up. You can choose the parts you want to emphasize, the reasons you want to explain. Also quite handily, there are lots of stories you can pattern yours on. For example, I might be framing this as an experiment now, but I can also talk about it in terms of freelancing. People shift to freelancing, and some shift back. If we have kids, then my story could be as simple as those of many other parents who’ve taken breaks from traditional careers. The on ramp might be tricky, but it’s there. And even if I started my break a few years before having kids, people probably won’t dig into that.

Imagining one possible Sacha of five years after the experiment (with subtext or notes in parentheses), pitching a business:

Yeah! I was doing well at IBM (evidence: performance ratings, recommendation letters, testimonials), but I knew that I wanted to learn more about business, technology, and other topics. Besides, I’d saved up a lot, so I could take more risks. I gave my manager plenty of notice and transitioned all my projects neatly. (See, I’m responsible.) I experimented with different kinds of business models and found that I really enjoy helping people understand complex ideas through simple visuals, tutorials, videos, and consulting. I learned about what I can do on my own, and now I want to scale up by working with a good team. (So that’s why you don’t have to worry about me being all flighty.) With the skills I polished (NodeJS, more Ruby, even Emacs geekery) and the network I developed, I think I can help you make even awesomer things happen.

Another Sacha, talking about choosing alternative paths:

I had a great time in the corporate world, so I wanted to see what the other types of work were like. I have a lot of role models who have small businesses, and I was excited about learning how to build one myself. I experimented with different business models and was lucky to find immediate profitability with consulting, sketchnoting, and publishing. I re-invested those profits, and the investments grew enough to cover my needs. Since I have the time and space to explore things just because, I’ve decided to focus on the things I like to do: helping people learn more about Emacs or visual thinking. It’s pretty cool what you can do when you challenge your assumptions.

And yet another Sacha, blending in with the crowd (assuming we have kids):

I took some time off to raise a family. Since I knew I wanted to get back into technology afterwards, I kept my skills up to date by working on open source projects and building sites. You can see my portfolio at ____. Why don’t we set up a trial project so that we can find out if this is a good fit?

I think a lot about what’s going to be part of my story. I want to be able to put enough into that box, and I want it to make sense. Time moves so quickly. I’m already almost halfway through these five years. What I want to be able to say at the end of it? How am I different now compared to when I started, and how much more different do I want to become?

I’m more comfortable with business and paperwork than I used to be. I was pleasantly delighted to discover that I could create things that other people valued, and that people would buy things even if they could get them for free. I learned how to put together e-books and printed books. I got more comfortable at helping people online, and I learned that was something else that people valued. I learned how to interview people and turn that into additional resources. I got deeper into drawing, and I used that to explain ideas and explore my own reasoning.

I haven’t learned as much as I thought I would about some of the technologies I was curious about. I’m still not a super-leet developer of Emacs, Rails, Node, or Android. I spend more time on the beginner side of things, building resources and filling in gaps. That’s useful too, so I’m not too worried.

What do I want to add to this story? More coherent Emacs evangelism: guides, e-books, then maybe books – more help, more chunks that are part of a story (and that tickle my brain and that result in good karma; it’s icing on the cake that it’s part of a “worked on open source” story). Maybe Org or other Emacs contributions. More modern web development. Writing. Plenty of writing. Someday, more style and humour.

So far, my investment income covers what I need. It is always possible, however, that I’ll need to focus on more active work. Something might happen to W-, or our situation might otherwise change. I’m not entirely sure yet that I have a good plan for that, although I’ve set aside some buffer so that we can ease into it slowly. In those kinds of scenarios, I’d probably post here while I figure out my options, which will likely involve programming of some sort or another. (Then people can be part of the story too!)

Sometimes I think about alternate universe Sachas who travel in parallel along more conventional paths. It’s less about “what if” or “if only” and more about “Hmm…” I can relax a little, knowing that alternate universe Sachas are exploring those trails. I check in with myself from time to time: is the story worth the divergence? Can I scent other interesting story possibilities nearby?

While I give up a little of the power of the story by actually talking about my thought processes, I’m betting that it’ll help more than hinder. At the very least, this will probably help other people think about their stories.  =)

What are the different stories you can tell about the facts of your life, and how are you working towards the stories you would like to be able to tell? Here are some tips I’ve picked up:

  • Look for similar stories that you can pattern yours on–and that you can use to decide where you’ll diverge
  • Brainstorm different aspects you can emphasize about your story
  • Try out the stories you want to be able to tell

Reinvesting time and money into Emacs

I received a wonderful token of appreciation from someone who found my Emacs posts useful. It got me thinking: what would it be like if I made Emacs a large part of my life’s work, and how can I invest even more into it?

Emacs is already a big part of my life. I like the community. I get a lot of positive feedback indicating I might be doing useful things. It’s not like much would change, except perhaps that I’d give myself permission to focus on this, to put more eggs in this basket. I might write about Emacs more often, even if it makes other people boggle. I might tweak the design of my blog to simplify browsing through Emacs-related resources, and maybe come up with an easier-to-spell domain name for that part of my site. Focusing on Emacs is probably low-risk, since my savings give me a decent runway if I need to build up more marketable skills like WordPress or Rails. (Or I could be, like, one of the few Emacs coaches/consultants in the world. ;) )

To make the decision clearer to myself, here’s what would go on the backburner: specializing in a more popular platform (WordPress, Rails, etc.), Quantified Self, helping people with blogging, helping people with sketchnoting, helping people with freelancing/semi-retirement, delegation, and so on. I could probably build up a reputation in those communities later on, but I like Emacs the most right now.

I like focusing on helping people discover the joys of exploring and customizing Emacs: blog posts, tutorials, suggestions, screencasts, maps, and maybe someday those guides and books I’ve been talking about writing. I like helping make Emacs learning slightly more manageable – “if you know about this, you might want to check out that.” I enjoy coding, but I haven’t gotten deeply into the big improvements people are working on for Emacs 24 and later. I’ll probably continue to focus on filling in the gaps instead of pushing Emacs forward.

I’ve been thinking about how I can reinvest money into the Emacs community. There was a recent thread on the Orgmode mailing list about donations – trying to figure out how to put people’s donations to the best use. Sometimes I receive donations too. Since I keep my expenses low and there’s only so much safety you can save up for, how can I put small amounts of money to good use in open source?

Domain name, hosting, etc.: I use a Linode VPS – I switched from Rackspace in 2011. A virtual private server is more expensive than shared hosting providers. I like how I can ssh to it to try different things. I’ve thought about lowering my costs by using DigitalOcean, but I don’t know enough yet about server optimization to properly configure my web server setup so that I’m confident I’d fit into a smaller plan. (Hmm, this might be worth experimenting with someday, especially since I could set up a snapshot and save it…) I’ve budgeted for this and for domain naimes since this is such a big part of what I do, so I don’t mind covering this myself and using donations/unexpected income for other things.

Transcripts for Emacs Chats and other videos: I’ve been outsourcing this instead of doing it myself because transcription is a well-specified chunk of work that I can pass to other people (who can learn a little more along the way). It takes about $35-$60 for a transcript, and then I often edit it a little. The assistant who does my Emacs Chat transcripts is interested in programming, but hasn’t gotten into Emacs specifically. It might be interesting to find someone who’s interested in Emacs and who will get even more out of transcribing videos. (If this describes you, e-mail me!)

Emacs/Org conference? Meeting folks in person was super-awesome. If last year’s conference happened because someone found a venue willing to host us for free, it makes sense for me to pay for a venue. Even if it’s over a thousand dollars, that’s cheaper than a flight and visas and all sorts of other things.

Emacs meetups? Quantified Self Labs supports QS meetups by sponsoring Meetup.com fees ($144 per year), pitching in for video cameras, and paying someone to process videos. They also have people working on blog posts and other community-related projects. Would a similar model make a big difference? Maybe it makes sense to get a few of them off the ground. What’s in the way of my hosting an Emacs meetup here?

Editors / information organizers: I try to make my writing easy to understand, but it can be good to have other people review something to see if it makes sense and to spot the gaps. Volunteers and blog readers help a lot. Still, it might be a good idea to pay people to help me with this. I’m not looking for surface-level editing, but more developmental editing: helping me organize ideas so that they make sense and they’re in a logical order. I’m not sure if looking on the usual freelance writer sites will help me find someone who can do this, but maybe if I can offer a good enough incentive, then maybe a freelance developer/writer will be able to spend some time helping me with this. (Or I can just take longer and I can get better at asking for feedback…)

Bounties? https://www.bountysource.com does not seem very popular for Emacs or Org. I’m still not sure how bounties interact with intrinsic motivation and unequal valuing of work, or how to even value a fix.

There’s still so much beyond money that I haven’t yet fully delved into. Aside from re-investing money, I can invest time – and that’s probably more important, more useful.

How can I invest more time into the Emacs community? What do I want to work towards? How can I improve how I learn and share?

Continue what I’m doing, and do more of it: Tweak Emacs and write about it. Be that friendly co-worker or friend you chat with because you know she’s always coming up with the weirdest things to try, and sometimes that leads to surprisingly useful things. Post more screenshots and screencasts, since we could really use those.

Fill in more gaps: Answer newbie questions. Map topics to learn. Write tutorials. Link to resources. Make screencasts. Organize information. Read EmacsWiki and other resources, and organize/edit/fill in as I come across opportunities to improve things.

Guide more people towards Emacs Lisp: Help people make that jump to writing their first custom bit of Emacs Lisp. Learn more about Emacs Lisp style and functionality, and help people improve their packages.

Help inspire and connect people. Bring the community together: Interview people for Emacs Chats, so that other people can get a sense of people like them who are enthusiastic about Emacs and who use Emacs to do interesting things. Set up a regular Emacs show-and-tell series?

On a related note: what would it take to figure out how to do Emacs coaching properly? I’d want to keep track of people’s progress and set up recurring calls, so probably Org, maybe in Google Drive or Git… I have a little bit of an impostor syndrome around this because I don’t know enough about setting up Emacs as a modern IDE, but I can learn. Clojure, Rails are probably good starting points, and there’s Emacs Lisp itself. On the other hand, if I answer questions in newsgroups and mailing lists, I help more people, and it’s easier (and more reliable) to turn those into blog posts. Plus they’re searchable. But sometimes one-on-one real-time helping is what helps me map or understand things better, and it can really make a difference in someone’s confidence or comfort level. So yes, continue to do these, and continue to nudge people to share.

Do these decisions make sense even considering a scenario where, say, Emacs becomes irrelevant? I’ll have learned more about related programming tools and topics. I’ll be a better writer and teacher. I’ll probably know a whole bunch of people who are happy about what I’ve shared and who can help me make the transition to other things as needed, maybe by sharing information or by taking a chance on me. And then there are all the other skills I’ll build on the way: making sense of technical things, learning more about how things learn, and playing with all sorts of other things along the way.

Payoffs? Tickled brain, happy mastery. Besides, you meet the nicest people using Emacs. =)

How I use Google Chrome custom search engines for quick access

I move as much as I can of what I know to the Web so that other people can use what I share. Added benefit: I can find things quickly! I use custom search engine shortcuts to help me quickly look up stuff. For example, I frequently refer to blog posts. I can type “b search terms” into my Chrome address bar to search my blog. Neat, huh? Here are the search engines I’ve defined.

Blog b https://www.google.ca/search?q=site%3Asachachua.com+%s
Blog category bc http://sachachua.com/blog/category/%s
Blog tag bt http://sachachua.com/blog/tag/%s
Flickr – mine f http://www.flickr.com/search/?w=65214961@N00&q=%s
Flickr tag ft ~http://flickr.com/photos/sachac/tags/%25s
Google Drive d https://drive.google.com/a/sachachua.com/#search/%s
Google Calendar c https://www.google.com/calendar/render?q=TERM
GMail m https://mail.google.com/mail/u/0/?pli=1#search/%s
Google Contacts p https://www.google.com/contacts/?q=%s
Trello t https://trello.com/search?q=%s

Here’s how you can define your own search engines:

  1. Click on the menu button.
  2. Choose Settings > Manage Search Engines.
  3. Scroll to the bottom of the Other search engines list.
  4. Add your own, one at a time.

%s will be replaced by the search terms from the command line.

Super handy!

Try setting up search engines for yourself. It takes a few minutes to set up one, and it makes searching so much easier.

Emacs Chat: Jānis Mancēvičs

Chatting with Jānis Mancēvičs about literate programming, Unity game development, and code folding.

Want just the audio? Get it from archive.org: MP3

Check out Emacs Chat for more interviews like this. Got a story to tell about how you learned about or how you use Emacs? Get in touch!

Emacs ABCs: A is for Apropos

Sometimes one gets the strangest ideas. I’ve had this kicking around in my brain for a few weeks. Since you read and re-read books to kids endless times anyway, why not learn more yourself along the way? For example, Emacs is something that is worth repeated learning. You forget commands, you rediscover them, you dig into them more. I think it might be interesting to have kid’s books with technical subtext. While you’re saying the letters and helping kids learn to read, you can silently (or not-so-silently!) read the notes, and pick one command to try later. In this case: M-x apropos?

A is for apropos

A is for apropos

Here’s a list of interesting possibilities:

  • apropos
  • browse-kill-ring
  • customize / compile / calc
  • dired, debug-on-entry
  • edebug-defun, eshell
  • fastnav, ffap, fixup-whitespace
  • grep-find, gnus
  • help-with-help, helm
  • ielm
  • just-one-space
  • keyboard macros, kmacro-start-macro, kbd-macro-query
  • load-library, locate-library, list-packages
  • magit, make-indirect-buffer
  • name-last-kbd-macro
  • occur (and occur-edit-mode); org
  • package-list-packages, picture-mode
  • quick-url, query-replace-regexp-eval
  • regexp-builder, recursive-edit, recover-this-file,
  • savehist-mode, server-start, smartparens
  • tags-search, term, thumbs, tmm-menubar, type-break
  • undo-tree-visualize
  • vc-next-action, view-lossage, visual-line-mode
  • where-is, winner-mode, windmove, window-configuration-to-register
  • M-x (execute-extended-command)
  • yank-pop
  • zap-to-char

Crazy? Neat? =) What do you think?

Weekly review: Week ending April 18, 2014

More coding, yay! Next week, I’m going to focus on writing more tutorials for Emacs. Also, lots of Emacs conversations. Emacs Emacs Emacs Emacs… =)

Blog posts

Sketches

  1. 2014.04.13 Lion cut
  2. 2014.04.16 Book – Mastery – Robert Greene

Link round-up

Focus areas and time review

  • Business (24.6h – 14%)
    • Earn (14.7h – 59% of Business)
      • [ ] Earn: E1: 2.5-3.5 days of consulting
      • [X] E1: Rename groups
      • [X] Earn: E1: 2.5-3.5 days of consulting
      • [X] Earn – M: Revise sketch
    • Build (5.9h – 24% of Business)
      • [X] Make sure all of my blogs are updated to WordPress 3.9
      • [X] Upgrade Linode
      • Drawing (3.5h)
        • [X] Sketchnote a book – Mastery – Robert Greene
      • Delegation (0.6h)
        • [ ] Brainstorm more tasks
      • Packaging (0.1h)
      • Paperwork (0.6h)
      • Emacs
        • [ ] Add more sections to Emacs Lisp tutorial
        • [ ] Invite bbatsov for an Emacs Chat
        • [ ] Record session on learning keyboard shortcuts
        • [X] Emacs: Get beeminder code to support time-today
        • [X] Emacs: Figure out why todo list does not filter by statu
        • [X] Talk to JJW about Emacs and Org
        • [X] Set up project view
        • [X] List TODOs by project
        • [X] Hook Beeminder into Gnus to track sent messages
        • [X] Figure out Org publishing
        • [X] Figure out why column view is hard to read
        • [X] Fix keymap in beeminder.el
        • [X] Get beeminder code to prompt for value
        • [X] Emacs: Track the number of tasks I have and what states they’re in
        • [X] Chat with splintercdo (Janis) about literate programming
        • [X] Add colour coding to 2048 game for Emacs
    • Connect (4.0h – 16% of Business)
  • Relationships (6.1h – 3%)
    • [X] Go to RJ White’s semi-retirement party
    • [ ] Raspberry Pi: Extract blob pixels and try to classify cats
    • [ ] Raspberry Pi: Use bounding rectangle to guess litterbox use
  • Discretionary – Productive (27.6h – 16%)
    • [X] Ask neighbours if anyone wants to split a bulk order of compost with us
    • [X] Update my unscheduled tasks and add time estimates
    • [ ] Prepare litter box analysis presentation
    • Writing (11.7h)
  • Discretionary – Play (7.3h – 4%)
  • Personal routines (26.0h – 15%)
  • Unpaid work (12.8h – 7%)
  • Sleep (64.0h – 38% – average of 9.1 per day)