On this page:

Digging into my limiting factors when it comes to interviewing people for podcasts

The world is full of interesting people, the vast majority of whom don’t share nearly as often as I do. If I interview people, I give people a more natural way to share what they’ve learned in a way that other people can easily learn from. I also get to learn about things I can’t find on Google. Win all around.

I am better-suited to interviewing than many people are. I’m comfortable with the tech. I have a decent Internet connection. I have a flexible schedule, so I can adapt to guests. I use scheduling systems and can deal with timezones. I’ve got a workflow that involves posting show notes and even transcripts. I am reasonably good at asking questions and shutting up so that other people talk. I often stutter, but no one seems to mind. I usually take visual notes, which people appreciate. I’m part of communities that can get more value from the resources I share.

So, what’s getting in the way of doing way more interviews?

interview

I feel somewhat self-conscious about questions and conversations. The Emacs Chats have settled into a comfortable rhythm, so I’m okay with those: introduction, history, nifty demo, configuration walkthrough, other tidbits. Frugal FIRE has a co-host who’s actively driving the content of the show, so I can pitch in with the occasional question and spend the rest of the time taking notes. It’s good for me to talk to other people out of the blue, but I don’t fully trust in my ability to be curious and ask interesting questions.

Hmm. What’s behind this self-consciousness? I think it could be that:

  • I don’t want to ask questions that have been thoroughly covered elsewhere. – But I know from my own blog that going over something again helps me understand it better, so I should worry less about repeating things. Judgment: IRRATIONAL, no big deal
  • I worry about awkward questions and making questions that are really more like statements. What are awkward questions? Closed-ended questions or ones that lead to conversational cul-de-sacs. — But the people I talk to also want to keep the conversation going, so between the two (or three) of us, we should be able to figure something out. And really, once we get going, it’s easy enough to ask more. So I’m anxious about being curious enough, but once we’re there, it’s easy. Judgment: IRRATIONAL, just get in there.
  • I worry about not being prepared enough, or being too forgetful. – But when did I ever claim to have an excellent memory or to be great at doing all the research? Maybe it’s enough to have the conviction that people have something interesting to share, and help them have the opportunity to share it. (And possibly warn interviewees about my sieve-of-a-brain in advance, so they’re not offended if I confuse them with someone else.) Judgment: IRRATIONAL
  • I’m not as used to the flow of an interview as I could be. It’s similar to but not quite the same as a regular conversation, which is something I’m not as used to as I should be. Oddly, it’s easier when I’m occupied with taking visual notes, because I can use my notes to remember interesting things to ask about (and the other person can watch it develop too). So maybe I should just always do that, and then the drawing is a super-neat bonus.
  • I hesitate to ask questions unless I have an idea of what I’m going to do with the answers. Why are the questions interesting? What do we want to explore? Who am I going to share this with, and why? I’ve gotten a lot of good feedback on Emacs Chats, so that makes it easy to keep going, but the one-offs can be harder to plan. Maybe I should just become more comfortable with asking in order to explore. Besides, I’m good at rationalization, so I can make sense of it during or after the conversation. And the kinds of interviews I do are also about letting people share what they think would be useful for other people, so I can follow their lead.

Really, what’s the point of being self-conscious when interviewing people? After all, I’m doing this so that the spotlight is on other people, and listeners can survive inexpertly-asked questions. Hey, if folks have the courage to get interviewed, that’s something. Like the way that it’s easier to focus on helping other people feel more comfortable at parties, I can try focusing on helping guests feel more comfortable during interviews.

And it’s pretty cool once we get into it. I end up learning about fascinating Emacs geekery, connecting with great people, and exploring interesting ideas along the way. Well worth my time, and people find the videos helpful.

So I think I can deal with some of  those tangled emotions that were getting in the way of my interviews. (Look, I’m even getting the hang of calling them interviews instead of chats!)

What’s getting in the way of reaching out and inviting people on? I should be able to reach out easily and ask people to be, say, a guest for an Emacs Chat episode. I have good karma in the community, and there are lots of examples now of how such a conversation could go. How about Quantified Self? I’ve been thinking about virtual meetups or presentations for a while, since there are lots of people out there who aren’t close to a QS meetup. What’s stopping me?

  • I generally don’t think in terms of people when it comes to cool stuff or ideas: This makes it difficult for me to identify people behind clusters of interesting ideas, or recognize names when they come up in conversation. Still, it shouldn’t stop me from identifying one particular idea and then looking for the person or people behind that. If I discover other things about those people afterwards, that’s icing on the cake. Hmm… So maybe I should update my confederate map (time to Graphviz-ify it!), interview those people, and then branch out to a role model map. Oh! And I can apply Timothy Kenny’s idea of modeling people’s behaviours beforehand as a way to prepare for the interview, too. Judgment: CAN FIX
  • It would be easier to reach out if I’ve already written pre-psyched-up snippets I can add to my e-mail. Aha, maybe I should write myself an Org file with the reasons why this is a good thing and with snippets that I can copy and paste into e-mail. There are a lot of blog posts and podcast episodes on how to get better at requesting podcast interviews, and there are also resources for getting better at interviewing itself. I can change my process to include psyching myself up and sending a bunch of invitations. Judgment: CAN FIX
  • I’m slightly worried about pre-committing to a time - but really, Google+ events make it pretty easy to reschedule, and I haven’t needed to reschedule most things for my part. Judgment: IRRATIONAL.

All right. So, if I want to learn from people and share useful stuff, I can work on being more actively curious about people, and at inviting them to share what they know. I don’t have to ask brilliant New York Times-y questions. I just have to start from the assumption that they know something interesting, and give them an opportunity to share it with other people.

Why would people take the time to do interviews? Maybe they find themselves explaining things to people a lot, so a recording (plus visual notes! plus transcript!) can save them time and give them something to build more resources on. Maybe they’re looking for other people to bounce ideas off. Maybe it helps them understand things better themselves. I shouldn’t say no on their behalf. I can ask, and they can decide whether it makes sense for their schedule. Right. People are grown-ups.

Okay. What changes can I make?

  • Write an Org file psyching myself up with a condensed version of the reasoning above, and include snippets to copy and paste into e-mail invitations.
  • Map topics/questions I’m curious about, and start identifying people. Identify the tactics I think they use, and model those.
  • Trust that the future Sacha will sort out the questions and the flow of the conversation. And hey, even if it’s super awkward, you don’t get to “interesting” without passing through “meh” first. So just book it, and be super-nice to guests for helping out.

Hmm. That actually looks doable.

Have you gone through this kind of mental tweaking before? Any tips?

Thanks to Daniel Reeves and Bethany Soule for the nudge to write about this! Yes, I should totally pick their brain about Quantified Self, applied rationality, and other good things. Check out their blog at Messy Matters for awesome stuff. Oh, and Beeminder, of course. (Look, I’m even using Messy Matters as a nudge to play around with more colours and brushes! =) )

Raspberry Pi LitterBox Cam and quantified cats

We have three cats. One of our cats occasionally poops outside the litter box. We had our suspicions, but we couldn’t pin down who or why. Territorial issues? Finickiness about box hygiene? Sickness? Fear or surprise? What could we do to reduce the frequency of incidents?

We decided that a litter box webcam was an excellent first project for the Raspberry Pi computer that W- just bought. The Pi is a tiny, quiet, inexpensive Linux server. My webcam worked without hassles, and Motion was easy to set up for motion detection. We set it up to capture videos when the computer detected motion. I watched the videos and encoded the data, tracking which cat and which litter box. I figured that exploring this would be a good excuse to work with the Pi and learn a little more about computer vision.

2014-03-24 Litter Box Cam with Raspberry Pi #raspberry #cats

2014-03-24 Litter Box Cam with Raspberry Pi #raspberry #cats

You might think that watching litter box videos would be boring and somewhat icky. It was surprisingly informative. I had no idea that Luke sniffed so many litter boxes before settling on one. Leia usually checked out one or two boxes before doing her thing, but if all the other boxes were used (even if one of them was used only by her), she sniffed everything and then circled around in indecision before finally pooping in the middle of the basement floor. (Watching her try everything made me feel somewhat better.) The two cats cover, but Neko never does. (Territorial dominance marker by the smallest cat?)

We collected a week of baseline data, which showed that box 1 was twice as popular as box 4 and 5. W- hypothesized that it was because box 4 and box 5 were near the furnace, and the strange noises from the furnace might startle the cats occasionally. Leia pooped outside the box twice, both times sniffing all the boxes before going in the middle.

We took to calling Leia our little data-generator.

2014-03-29 Litterbox analysis #quantified

2014-03-29 Litterbox analysis #quantified

Since the cats often left a little bit of extra food in their bowls and the vet had suggested they needed less food or more exercise, we decided to try reducing the amount of food we gave them. That change seems to be going well.

We also moved box 5 closer to box 1. That led to box 5 being much more popular than it used to be, which was a pleasant surprise. If Leia likes box 5 a lot more now that it’s away from the furnace, maybe it’ll be easier for her to find a clean box to poop in.

Preliminary cat litter box results

Preliminary cat litter box results

We set the camera up to capture 2 frames per second in order to save space. Watching it in real-time eventually lost its novelty, so I looked up how to speed up the AVIs.

for FILE in video-*.avi; do
  if [ ! -f "fast-$FILE" ]; then
    ffmpeg -i $FILE -vf "setpts=0.10*PTS" -r 30 fast-$FILE
  fi
done

I also started looking into how to use SimpleCV for computer vision and image processing. I had a hard time getting SimpleCV set up in my Ubuntu virtual machine, but the Windows version worked fine after a lengthy install process on my computer. After much learning, I figured out how to identify changed areas, get the largest share over a certain area threshold, find the centroid of that shape, and plot it back on the image. The real challenge is figuring out some kind of visual output that makes sense to me when I look at it. The image below is a step in the right direction, but it’s still not quite what I need.

summary-113-20140329224621-00

The Raspberry Pi camera module arrived, so we swapped that in and eventually got everything working again after some SD/power-related grumbling.

It would be great if I could get Python to automatically figure out which cat is in the video, distinguishing between multiple cats and flagging it for manual review if the motion detection got confused. Even better if it can track the path that the cats take!

On the other hand, the speeded-up AVIs are now fast enough that the bottleneck isn’t waiting for the video to play, it’s me typing in the description of the path (since I track not only the litter box they use, but any other litter boxes they check along the way). Maybe this is fine.

While watching me encode data, W- said, “Isn’t this something you can have your assistants do?” It’s data entry, sure, but I feel embarrassed about assigning people to watch our cats poop. <laugh> Besides, I’m learning a lot from the encoding process. We’ll probably treat it as a time-limited experiment.

Pretty cool! =) Next steps: Collect more data, try more experimental changes, learn more about image processing…

Anticipated questions/responses:

  • That’s so geeky. You’re weird. Yup.
  • You have too much time on your hands. I like spending my time learning things, and getting better at computer vision and data analysis will come in handy. =) Better than watching TV or reading forgettable things. (See also: Too much time on her hands)
  • Just get a self-cleaning litter box. We got a Litter Robot because that was the best-reviewed of the self-cleaning litter boxes, but only Neko likes using it. We’re not into fancy litter boxes that require cartridges or special litter. It’s hard to tell if Leia will take to a new automated litter box, and returns/refunds for used litter boxes would be a bit weird. We can probably figure out something that works with our current setup, or maybe with an additional regular litter box. We still need to clean daily anyway, so it makes sense to try low-cost approaches first.
  • How about tracking both input and output? Too much work at the moment, and not enough interest in the data. (Weigh the food bowls? Weigh the boxes? Distinguish between cats?)
  • What about rigging up an automated water sprayer / Nerf gun to fire when cats poo outside the litter box? That will just make them poop outside the furnace room. It’s much easier to clean the furnace room than the carpet, so if they’re going to poop outside the litter box, that’s as good a place as any. We don’t want them to get any negative associations.

Notes from Visual Thinkers Toronto: Sketchnoting with others

In March’s meetup for Visual Thinkers Toronto, we listened to TED talks, practised sketchnoting/graphic recording, and compared our notes. Here’s how I drew the talks:

2014-03-25 TED - Bran Ferren - To create for the ages, let's combine art and engineering #visualtoronto

2014-03-25 TED – Bran Ferren – To create for the ages, let’s combine art and engineering #visualtoronto

From Bran Ferren – To create for the ages, let’s combine art and engineering

2014-03-25 TED - Jamie Oliver - Teach every child about food #visualtoronto

2014-03-25 TED – Jamie Oliver – Teach every child about food #visualtoronto

From Jamie Oliver – Teach every child about food

I liked how one of the participants added extra pizzazz to the visual metaphors from the talks, exaggerating the words to make them even more memorable. For example, with Jamie Oliver’s talk, he turned the part about labels into a quick sketch of a Can of Death. Other people drew with more colours

It was interesting to see different levels of abstraction for the same topic. Someone made a poster that focused on the key message of the talk. Most people captured 5-10 points or so. I drew with the most detail in our group, I think. I like it; that lets me retrieve more of the talk from memory. I liked how other people switched between different colours of markers. Someday I’ll get the hang of doing that. In the meantime, highlighting seems to be fine.

Try sketchnoting those talks or other presentations you find online. I’d love to compare notes!

Emacs Chat: Iannis Zannos – Emacs and SuperCollider

Emacs! Music! Iannis Zannos shares how Emacs can be used for all sorts of awesomeness with Org Mode and SuperCollider.

Check this event page for details and comments =)

Emacs Basics: Customizing Emacs

Hello, I’m Sacha Chua, and this is an Emacs Basics video on customizing Emacs. Emacs is incredibly flexible. You can tweak it to do much more than you might expect from a text editor. This week, we’re going to focus on learning how to tweak Emacs with M-x customize and by editing ~/.emacs.d/init.el.


You can download the MP3 from Archive.org

Customize

You can change tons of options through the built-in customization interface. Explore the options by typing M-x customize. Remember, that’s Alt-x if you’re using a PC keyboard and Option-x if you’re on a Mac. So for me, that’s Alt-x customize <Enter>. In the future, I’ll just refer to this as the Meta key, so remember which key is equivalent to Meta on your keyboard. (Review – Emacs Basics: Call commands by name with M-x)

After you run M-x customize, you’ll see different groups of options. Click on the links to explore a group.

For example, people often want to change the backup directory setting. This is the setting that controls where the backup files (the files ending in ~) are created. You’ve probably noticed that they clutter your current directory by default. To change this setting, select the Files > Backup group. Look for the entry that says Backup Directory Alist. Click on the arrow, or move your point to the arrow and press <Enter>. Click on INS, or move your point to INS and press <Enter>. Fill it in as follows:

  • Regexp matching filename: .
  • Backup directory name: ~/.emacs.d/backups

Click on State and choose Save for future sessions. This will save your changes to ~/.emacs.d/init.el. When you’re done, type q to close the screen.

You can also jump straight to customizing a specific variable. For example, if you want to change the way Emacs handles case-sensitive search, you can use M-x customize-variable to set the case-fold-search variable. By default, case fold search is on, which means that searching for a lower-case “hello” will match an upper-case “HELLO” as well. If you would like to change this so that lowercase only matches lowercase and uppercase matches only uppercase, you can toggle this variable. I like leaving case fold search on because it’s more convenient for me. If you make lots of changes, you can use the Apply and Save button to save all the changes on your current screen.

Not sure what to customize? You can learn about options by browsing through M-x customize or reading the manual (Help > Read the Emacs Manual or M-x info-emacs-manual). You can also search for keywords using M-x customize-apropos.

~/.emacs.d/init.el

The Customize interface lets you change lots of options, but not everything can be changed through Customize. That’s where your Emacs configuration file comes in. This used to be a file called ~/.emacs in your home directory, and you’ll still come across lots of pages that refer to a .emacs file (or “dot emacs”). The new standard is to put configuration code in your ~/.emacs.d/init.el file, which you can create if it does not yet exist.

What goes into your ~/.emacs.d/init.el file? If you open it now, you’ll probably find the settings you saved using M-x customize. You can also call functions, set variables, and even override the way Emacs works. As you learn more about Emacs, you’ll probably find Emacs Lisp snippets on web pages and in manuals. For example, the Org manual includes the following lines:

(global-set-key "\C-cl" 'org-store-link)
(global-set-key "\C-cc" 'org-capture)
(global-set-key "\C-ca" 'org-agenda)
(global-set-key "\C-cb" 'org-iswitchb)

This code sets C-c l (that’s Control-c l) to run org-store-link, C-c c to run org-capture, C-c a to run org-agenda, and C-c b to run org-iswitchb. You can add those to the end of your ~/.emacs.d/init.el file. They’ll be loaded the next time you start Emacs. If you want to reload your ~/.emacs.d/init.el without restarting, use M-x eval-buffer.

Emacs Lisp may look strange. Don’t worry, you can get the hang of it even if you don’t think of yourself as a programmer. You can start by copying interesting snippets from other people’s configuration files. Start with small chunks instead of large ones, so you can test if things work the way you want them to. If you need help, StackOverflow and other Q&A resources may be useful.

As you experiment with configuring Emacs, you may run into mistakes or errors. You can find out whether it’s a problem with Emacs or with your configuration by loading Emacs with emacs -Q, which skips your configuration. If Emacs works fine with your configuration, check your ~/.emacs.d/init.el to see which code messed things up. You can comment out regions by selecting them and using M-x comment-region. That way, they won’t be evaluated when you start Emacs. You can uncomment them with M-x uncomment-region.

Emacs gets even awesomer when you tailor it to the way you want to work. Enjoy customizing it!

Weekly review: Week ending April 4, 2014

Blog posts

Sketches

  1. 2014.03.29 Litterbox analysis #quantified
  2. 2014.04.01 01 – Why is it that people don’t vote – Findings from Samara’s Democracy Talks – Alison Loat
  3. 2014.04.01 02 – Who doesn’t vote – Findings from the 2010 municipal election – Myer Siemiatycki
  4. 2014.04.01 03 – What systems can we change – Municipal electoral reform – Desmond Cole, Dave Meslin
  5. 2014.04.01 04 – Mobilize to Vote 2(tpse)
  6. 2014.04.01 05 – Mobilizing Mount Dennis tenants to vote for landlord licensing – Judy Duncan
  7. 2014.04.01 06 – Voter contact workshop – Graham Mitchell, Michal Hay, Jesse Boateng
  8. 2014.04.01 07 – Election day planning and pulling the vote workshop – Graham Mitchell, Michal Hay, Jesse Boateng
  9. 2014.04.01 Figuring out more about what I want to do #planning
  10. 2014.04.01 How do I feel about snippets versus longer podcasts #podcasting #decision
  11. 2014.04.02 Evaluating my sharing #sharing #decision
  12. 2014.04.02 Imagining learning sprints #my-learning
  13. 2014.04.02 On thinking about a variety of topics – a mesh of learning #my-learning
  14. 2014.04.03 Dealing with the fog of work #experiment #fire
  15. 2014.04.03 How can I delegate even more effectively #delegation

Link round-up

Focus areas and time review

  • Business (57.9h – 34%)
    • Earn (28.2h – 48% of Business)
      • E1: Load people into comm
      • Earn – E2: Re-render video 3 if necessary
      • Earn – M: Set up M templates
      • Earn – M: Set up and print invoice
      • Earn – M: Sketchnote conference
      • Earn: E1: 2.5-3.5 days of consulting
      • Earn – E2: Set up video 3?
      • Earn: E1: 2.5-3.5 days of consulting
    • Build (22.0h – 37% of Business)
      • Build – Learn: Explore ManyCam
      • Build – Packaging: Review new cover for Sketchnotes 2013
      • Build – Quantified Awesome: Always default to creating a note field
      • Build – Quantified Awesome: Fix 24h goals and range goals
      • Build – Quantified Awesome: Fix display of totals in daily summary
      • Upgrade Linode Ubuntu install
      • Make it easier to cross-link Org
      • Stop loading d3js
      • Record session on learning keyboard shortcuts
      • Drawing (5.1h)
        • Draw “A” page for Emacs ABCs
      • Delegation (1.8h)
        • Get web development delegation off the ground
      • Packaging (4.6h)
        • Check on print copy of Sketchnotes 2013
        • Fix spine for Sketchnotes 2013
        • Put together print for Sketchnotes 2012
        • Review Sketchnotes 2012 digital proof
      • Paperwork (4.6h)
        • File payroll return
    • Connect (7.7h – 13% of Business)
      • Emacs chat prep: Iannis
      • Reach out regarding Emacs Google Hangout?
      • Emacs chat: Iannis Zannos – music
      • Invite bbatsov for an Emacs Chat
      • Talk to Tom Marble about Emacs
  • Relationships (3.6h – 2%)
    • Attend W-’s family thing
    • Cook something during the week
    • File taxes
    • Go to Gamfternoon at Hacklab
    • Help Eric with focus
    • Raspberry Pi: Learn how to do image analysis to detect changed areas
    • Write blog post about Raspberry Pi litter box cam
    • install the libraries I need for simplecv
    • Check results for project F
  • Discretionary – Productive (7.7h – 4%)
    • Encode litter box data
    • Go for an hour-long walk
    • Reflect on fog of work
    • Reflect on learning sprints
    • Update evil plans so that it has a little bit of margin
    • Writing (1.0h)
      • Write about discretionary speed
  • Discretionary – Play (3.2h – 1%)
  • Personal routines (19.9h – 11%)
  • Unpaid work (16.6h – 9%)
  • Sleep (61.6h – 36% – average of 8.8 per day)