If you're working with hourly assistance, you can ask people to track their times for specific tasks so that you can get a sense of how much something costs. You can also give a time limit and ask them to send you what they have at the end of that time. This will help you get a sense of their speed and the cost of the task. If you're working with fixed-cost services, you can translate things back into hourly estimates and compare that with your own experience. Pick one system of measurement so that you can compare your chioces.
Instead of trying to nail down a single price, try to figure out a range that you're comfortable with. You can start by looking for flat-rate fees from companies or people who post fixed prices online. For example, Transcript Diva lists transcript rates and timelines for some of their competitors as well. For general tasks, services like Fiverr and Fancy Hands help establish a range of $5-15 for common tasks.
Another way to establish a limit for what you're willing to spend is to consider how long it takes you to do things yourself, and what else you would do with that time. Adjust based on people's experience. Beginners will take longer to do things than you will, while experienced people may do this just as fast as you can. Specialists who have invested in tools or training may do things even faster. Sometimes it makes sense to delegate a task to someone who isn't the optimal choice in terms of speed or cost, if they're more integrated with the way you work or if you want to help them grow. (Sketch: delegation and task efficiency; blog post)
Then experiment. Try delegating a small task to a lower-cost service to see if that will meet your needs. Try delegating a similar task to a premium service to see if it's worth the price. Try a mid-range service.
Think about the value you can get from the different types of results you have. If a service is expensive but it leads to a lot more income, it may be worth it.
Think of when you'd prefer to do things yourself, too. For example, even though it's easy to find inexpensive data entry assistance, I prefer to automate straightforward tasks because I get to learn more about automation along the way.
As you delegate, think about what was worth it, and adjust accordingly. Make your experiments a little bit bigger as you get used to the idea. Find your sweet spot, and then keep experimenting. Good luck!
Dired is the Emacs directory editor. You can get to it with C-x C-f (
find-file) if you specify a directory. C-x d (
dired) works too. Dired makes it easy to do batch operations on files. One of the niftiest features that you might not even think of looking for, though, is the ability to make a Dired buffer editable using C-x C-q (
dired-toggle-read-only). Then you can use
replace-regexp, keyboard macros, and all sorts of other ways to change filenames. When you switch back out of editing mode with C-x C-q, the files will be updated.
Here’s a cheat sheet for working with Dired.
Also, bjonnh suggested making a cheat sheet for movement commands. I use the M-b, M-f, C-M-b, and C-M-f shortcuts a lot when working with Emacs Lisp. C-a and C-e are great too.
If you use
evil-mode because you’re used to Vim shortcuts, this cheat sheet won’t be useful to you, but maybe I can make an evil-mode cheat sheet someday.
In other news, I’m slowly becoming the kind of person who can understand SmartParens. I’m getting the hang of slurp and barf, but the rest of it still boggles me. Someday!
In the early days of my 5-year experiment with semi-retirement, I brainstormed ways it could fail. I worried that I might end up too distracted to make useful stuff, or that I’d end up being incapable of pursuing my ideas, or that I’d mess up somewhere–paperwork, people, products–and botch the whole thing. I worried that I’d finish the experiment with nothing to show and no compelling story for the gap I’d have in my resume. I worried that W- would get tired of this exploration.
I feel less worried now. Part of it was realizing that I can plan for only so much safety. Part of it was learning how to choose what I’m going to focus on, how to select my projects without managers and track my progress without annual performance reviews. (Well, I still have annual reviews, but they’re self-driven.) Part of it was trusting that I can handle things, a confidence which grew after each small step.
Looking back, I can see the things I found mentally challenging in the beginning, and how I worked around them.
If you’re starting your own experiment or you’re well into one, I’d love to hear about some of the challenges you faced and how you worked around them!
Focus areas and time review
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 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:
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.
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!
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:
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!
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.
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.
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.
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.
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…
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?
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:
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?
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?
Hmm. That actually looks doable.
Have you gone through this kind of mental tweaking before? Any tips?
Emacs Chat: Tom Marble – Invoicing with Org and LaTeX; Clojure
Guest: Tom Marble
Tom Marble’s doing this pretty nifty thing with Org Mode, time tracking, LaTeX, and invoice generation. Also, Clojure + Emacs, and other good things. Enjoy!
For the event page, you may click here.
For the transcript, you may click here.
When it comes to personal projects, when does it make sense to work quickly and when does it make sense to work slowly? I’ve been talking to people about how they balance client work with personal projects. It can be tempting to focus on client work because that comes with clear tasks and feedback. People’s requests set a quick pace. For personal projects, though, the pace is up to you.
It’s easy to adopt the same kinds of productivity structures used in the workplace. You can make to-do lists and project plans. You can set your own deadlines. I want to make sure that I explore different approaches, though. I don’t want to just settle into familiar patterns.
I work on personal projects more slowly than I work on client projects. When I work on client tasks, I search and code and tweak at a rapid speed, and it feels great to get a lot of things done. My personal projects tend to be a bit more meandering. I juggle different interests. I reflect and take more notes.
Probably the biggest difference between client work and personal projects is that I tend to focus on one or two client tasks at a time, and I let myself spread out over more personal projects. I cope with that by publishing lots of little notes along the way. The notes make it easier for me to pick up where I left off. They also let other people learn from intermediate steps, which is great for not feeling guilty about moving on. (Related post: Planning my learning; it’s okay to learn in a spiral)
Still, it’s good to examine assumptions. I assume that:
One of my assumptions is that combining topics leads to more than the sum of the parts. I took a closer look at what I write about and why. What do I want from learning and sharing? How can I make things even better?
Emacs tinkering is both intellectually stimulating and useful to other people. It also works well with applied rationality, Quantified Self, and other geekery. I can align sketchnoting by focusing on technical topics and on making it easier to package things I’ve learned. Blogging and packaging happen to be things I’ve been learning about along the way. Personal finance is a little disconnected from other topics, but we’ll see how this experiment with the Frugal FIRE show works out.
If I had to choose one cluster of topics, though, it would be the geek stuff. I have the most fun exploring it, and I am most interested in the conversations around it.
What does that mean, then? Maybe I’ll try the idea of a learning sprint: to focus all (or almost all) my energies on one topic or project each week. I can work up to it gradually, starting with 2-4 hour blocks of time.
Because really, the rate-limiting factor for my personal projects is attention more than anything else. If I experiment with reducing my choices (so: Emacs basics, Emacs chats, open source, Quantified Self), that will probably make it easier to get the ball rolling.
So I’m still not adopting the taskmaster approach, but I’m reminding myself of a specific set of areas that I want to explore, gently guiding the butterflies of my interest down that way.
We’ll see how it works out!
Last month, I:
In other news, I really like the new monthly review code I’ve added to Emacs: http:sachachua.com/dotemacs#monthly-reviews
Here’s the snippet:
(defun sacha/org-review-month (start-date) "Review the month's clocked tasks and time." (interactive (list (org-read-date))) ;; Set to the beginning of the month (setq start-date (concat (substring start-date 0 8) "01")) (let ((org-agenda-show-log t) (org-agenda-start-with-log-mode t) (org-agenda-start-with-clockreport-mode t) (org-agenda-clockreport-parameter-plist '(:link t :maxlevel 3))) (org-agenda-list nil start-date 'month)))
In April, I want to:
A lot of coding this past week – moving stuff to Github, fixing bugs, making things a little more convenient… Two Emacs chats, too.
Started gardening again. =D Yay weather warming up!
I think my focus on sketches is inversely proportional to my focus on code. They probably tickle the same part of my brain…
Focus areas and time review
[ ]Build: Find a user-friendly RSS plugin for WordPress
[ ]Earn: E1: 2.5-3.5 days of consulting
[ ]Explore converting ClojureBridge tutorial to Org
[ ]Explore membership plugins / course plugins
[ ]Record session on learning keyboard shortcuts
[ ]Write about planning for reasonable safety
[X]E1: Check for subscribers
[X]E1: Load people into comm
[X]Earn – E2: Re-render video 3 if necessary
[X]Earn – E2: Set up video 3?
[X]Earn: E1: 2.5-3.5 days of consulting
[X]Check that all my WordPress installations are up to date
[X]Get Emacs to show me a month of completed tasks, organized by project
[X]Improve Emacs Beeminder
[X]Make it easier to cross-link Org
[X]Package miniedit for MELPA?
[X]Run Hello World in Clojure from Emacs
[X]Sort out cache slam
[X]Sort out task templates and captures so that refiling, jumping, and clocking is easy
[X]Stop loading d3js
[X]Post Emacs tutorials links
[X]Fix cover for Sketchnotes 2012
[X]Annotate my Emacs configuration
[X]Draw "A" page for Emacs ABCs
[X]Draft guide to getting started with Emacs Lisp
[X]Learn about bitbooks
[X]Review Sketchnotes 2012 digital proof
[X]File payroll return
[X]Plan my business and personal finances
[X]Emacs Chat: Tom Marble
[X]Emacs chat prep: Iannis
[X]Emacs chat: Iannis Zannos – music
[X]Invite technomancy for an Emacs Chat
[X]Attend W-'s family thing
[X]Check results for project F
[X]Get the Raspberry Pi camera working and get a top-down view
[X]Go to RJ White's semi-retirement party
[X]Set up the Pi camera again
[ ]Raspberry Pi: Use bounding rectangle to guess litterbox use
[ ]Raspberry Pi: Extract blob pixels and try to classify cats
[X]Flesh out story
[X]Write monthly report taking advantage of Org tasks
[ ]Blog about user-visible improvements, Beeminder commit goal
[ ]Experiment with calculating ve
[ ]Plant beets, spinach, lettuce
[ ]Ask neighbours if anyone wants to split a bulk order of compost with us
[X]Write about discretionary speed
Emacs #1 – Getting Started and Playing Games by jekor
Probably the most helpful Emacs tutorial series on YouTube. Goes beyond the “what to type” how-tos that other tutorials seem bent on explaining over and over. Emphasizes games and how they help users familiarize themselves with the all-keyboard controls. 5/5 stars
Org-mode beginning at the basics
What it says on the tin. Essential resource for those who are new to Emacs and org-mode. Provides steps on how to organize workflow using org-mode written in a simple, nontechnical, writing style. 5/5 stars
Xah Emacs Tutorial
Though the landing page says that the tutorial is for scientists and programmers, beginners need not be intimidated! Xah Emacs Tutorial is very noob-friendly. Topics are grouped under categories (e.g. Quick Tips, Productivity, Editing Tricks, etc.) Presentation is a bit wonky though. 4.5/5 stars
RT 2011: Screencast 01 – emacs keyboard introduction by Kurt Scwehr
Keyboard instruction on Emacs from the University of New Hampshire. Very informative and also presents some of the essential keystrokes that beginners need to memorize to make the most out of the program. But at 25 mins, I think that the video might be too long for some people. 4/5 stars
Nothing beats the original- or in this case, the official- wiki. Covers all aspects of Emacs operation. My only gripe with this wiki is that the groupings and presentation are not exactly user-friendly (links are all over the place!), and it might take a bit of time for visitors to find what they are looking for. 4/5 stars
Mastering Emacs: Beginner’s Guide to Emacs
The whole website itself is one big tutorial. Topics can be wide-ranging but it has a specific category for beginners.
whole website itself is one big tutorial. Looks, feels, and reads more like a personal blog rather than a straightforward wiki/tutorial. 4/5 stars
Jessica Hamrick’s Absolute Beginner’s Guide to Emacs
Clear and concise. Primarily focused on providing knowledge to people who are not used to text-based coding environments. It covers a lot of basic stuff, but does not really go in-depth into the topics. Perfect for “absolute beginners” but not much else. 3/5 stars
Jim Menard’s Emacs Tips and Tricks
Personal tips and tricks from a dedicated Emacs user since 1981. Not exactly beginner level, but there’s a helpful trove of knowledge here. Some chapters are incomplete. 3/5 stars
Not a tutorial, but still an excellent resource for those who want to be on the Emacs update loop. Constantly updated and maintained by an Emacs buff who is currently working on a few Emacs related projects. 3/5 stars
Jeremy Zawodny’s Emacs Beginner’s HOWTO
Lots of helpful information, but is woefully not updated for the past decade or so. 2/5 stars
From Sunday: We’d neglected brushing Leia’s coat until there were mats that were difficult to work out. I tried to comb them out with a dematter or snip them out with scissors, but there was only so much Leia would tolerate. So plan B: shave it all off!
We had been thinking about it for a few months, but we figured she probably wanted to keep her fur during winter. With warm weather on the horizon and the mats getting thicker, it was time. W- and I didn’t know what to expect. We looked up pictures of lion cuts on cats (hilarious!), watched videos (of which there are plenty on the Internet, which exists primarily for the dissemination of all things cat-related), and read forum posts (for example: my cat is shaved & depressed).
Then we took Leia to her first appointment with a cat groomer. Leia wasn’t too happy during the process. The groomer had to use the Cone of Don’t Bite Me. There was a lot of… err… expressiveness.
She cheered up all right afterwards, though. We made sure to reassure her with lots of cuddles, although it took us a good few hours before we could resist the urge to chortle whenever we looked at her.
Actually, no, still happens. <giggle> She’s tinier than I expected! I always thought she was the same size as Luke, but it turns out that was all hair. She’s actually the same size as Neko. Maybe even smaller. Boggle. And her head is so big! And she’s wearing boots!
Yep, should totally do this every year.
Following up on sketching my goals: I’ve been thinking a bit more about goal factoring. What do I want to be able to do with an overview of my projects and goals?
One of the benefits of writing down my goals is that I can look at the gap between plans and reality. An e-mail conversation with Daniel Reeves (Beeminder and the awesomely geeky Messy Matters) pointed me to the concept of akrasia, which is when you act against your better judgment (Wikipedia: akrasia; LessWrong: akrasia). In general, this happens because we value the present much more than the future. Short-term gains are more compelling than future ones. Immediate pains matter more than far-off sacrifices.
I haven’t thought a lot about akrasia yet. If I can understand the concept and identify my akratic actions, then I can change my systems or try other tactics to live better.
There are lots of other possibly akratic actions in my life. These came to mind first when I thought about things that I often do and that I can change when I pay attention to them. Still, looking at this set… I don’t have a strong desire to eliminate akrasia while the suboptimal results aren’t major hindrances. I’m fine with having a little slack in my life. Even when my actions diverge from my stated goals, I still learn a lot.
That’s an interesting meta-thing to explore, though. Am I too comfortable? I’ve experimenting with moving away from carrot-and-stick approaches to personal productivity (or taskmaster and slave) and more towards appreciative inquiry (let’s observe what’s working well, and do more of that). Most people want to become more machine-like in their productivity, reliably following their plans. The contrarian in me is curious about alternatives. I don’t know that life would be better if I worked with more focus or commitment. I know that it would be different, and there’s a possibility that following the butterflies of my curiosity also creates value.
So let’s say that akrasia (or at least how I understand it so far) tends to be effectively addressed with self-imposed deadlines, commitment devices, constrained environments, and so on. Writers sign up for NaNoWriMo. Entrepreneurs bet each other that they’ll complete their tasks. Dieters remove junk food from their cupboards. These constraints support progress (by adding enough incentive to get people started or to convert downtime into productive time) or prevent backsliding (by removing temptations and distractions).
What are the trade-offs I make for not using these tools against akrasia? Are there ways I can turn weaknesses into strengths for those approaches?
Commitment devices are good for keeping you focused. If I let myself follow my interests, then I don’t get to take advantage of momentum or compounding results. However, my habit of sharing along the way means that people can get value even from intermediate steps. Cross-pollination is valuable, too. On my personal blog, it’s probably a good idea to have variety instead of focus, so that people can find what they’re interested in.
Commitment devices are good for preventing backsliding. When you make undesired actions more costly (ex: eating junk food), you make desired actions cheaper in comparison (ex: nibbling on carrots). If I don’t tinker with incentives that way, then I’ll be more influenced by short-term effects rather than long-term effects. I am generally future-oriented anyway (ex: retirement savings, batch cooking) and I have fun connecting actions with long-term plans, so the disadvantages may be somewhat mitigated. I don’t have a sense of urgency around this, either. Perhaps I need to exaggerate long-term costs in order to make this more compelling.
Things to think about…
Have you reflected on akrasia? Can you share your insights?
I track my time with medium-level categories (not detailed enough that I’m tracking individual tasks, but not so high level that it’s hard to make sense of the data). From time to time, I notice categories drift, or they stop fitting. Consulting is definitely business, but does working on Emacs really belong there? Why is coding classified under business but writing is classified as discretionary time? Most of my categories still make sense a year or two later, but some of them could use more thinking about.
What is business, anyway? I suppose it can include anything related to the earning of money, including support such as paperwork or delegation. Packaging (by which I mean creating e-books and other resources) is part of business, since I earn a small income from that (and pay taxes on it, too!). So is responding to e-mail. Technically, Emacs is related to money, because people have actually booked and paid me for help sessions online (http://sachachua.com/help). I consider programming-related activities to be part of maintaining my technical skills and network. In that sense, coding, web development, system administration, and other geek things are business-related. I distinguish between sketchnoting for client engagements and drawing on my own. Many of my drawings are more along the lines of personal or business planning. Perhaps I should track more under those categories now that I’ve established drawing as a way of thinking, and shift to using “Business – Drawing” when I’m specifically working on illustrations or improving skills.
Discretionary time includes the stuff I do just for fun and the things I learn about just because (Latin and Morse, for example). Probably the only weird thing in here is that I classify writing as discretionary time. It’s fun. Coding is fun too. Coding is more obviously valued, though, so I guess that’s why I consider it business time. And also, if I classify writing as coding time, I’ll tip over way too often into the “working too many hours a week” zone, when I’m not really doing so.
Maybe a better approach is to classify coding, drawing, and other fun things as discretionary time instead, even if they occasionally result in money. Benefit: I get to celebrate having more discretionary time and a lighter workload. (Yeah, it’s all mental anyway…)
Or maybe I need to take a step back and ask myself what kinds of questions I want to be able to answer with my categorical data.
In general, I want to make sure I don’t spend too much time working, because I want to force myself to work on my own projects. That’s why I track the time spent consulting, doing paperwork, and connecting with people (including responding to e-mail). I usually keep a close eye on my Business – Earn subcategory, since that’s the one that can creep up on me unawares. That’s fine with my current categories.
I also want to look for patterns in time use. How does spending more time on one activity (and less time on other activities) influence what I do and how I feel? How bursty am I when it comes to different discretionary projects? As long as I’m tracking at the subcategory level, it doesn’t really matter what the root category is.
Hmm. Since I’m not actually using the distinction between discretionary and business for reports or visualizations that nudge my behaviour, I can probably leave my categories alone if I remind myself that those ones have fuzzy boundaries. It would matter more if I wanted to set goals for investing X hours a week on business things (or, conversely, spending Y hours on discretionary non-business related things, which is oddly harder). Since I don’t care about that at the moment, I’m fine. Also, it’s easy enough to reassign the parent categories, so I still leave the door open for analyses at a later date.
As long as I can keep things clear enough in my head so that I feel confident that I can explain to any auditors that yes, my business expenses make sense, I should be fine. I feel a little weird about not having a proper business plan for lots of things I’m working on. I mean, I can write them (or draw business model canvasses, more likely), but I prefer this pay-what-you-want model. Oh, hey, there’s an assumption there that I can dig into. People can (and do!) build metrics around freemium or pay-what-you-want models. Maybe I can figure out how to approach this in a business-like-but-still-generous way.
What would a more business-y way look like? I would float an idea to see if it’s useful. Then I would make stuff (and sometimes I’d make it anyway, just because). I might actually track conversions, and try things out, and reach out to people and communities. I’d publish little guides and videos, and maybe add a tip jar for smaller pieces of content so that people can “vote” for things they like more.
All things to do in due course. In the meantime, knowing that the path is there means I can leave all of this stuff still filed under the Business category, because it is. Even if it’s fun. Writing still feels more discretionary than business-y (even posts like this, for example), so I’ll leave that where it is. So no change, but I understand things better.
Do you track your time and have fuzzy boundaries between categories? How do you deal with it?
The weather finally warmed up last weekend. W- and I raked the back yard, and I started planting seeds that would likely survive just in case we get another frost. Spinach, peas, lettuce… I don’t know how well the seeds will do, but I want to get things growing again. I can’t grow anything indoors because the cats love nibbling on greens, so I’ll just have to buy my tomato and basil starts from the garden centres. In the meantime, though, I can experiment with seeds.
The soil feels better now than the sandy mix we started with, although there’s always room for improvement. We’ve added lots of compost to it over the years – mostly manure, but there was a year that our compost heap was active enough to steam. Toronto gives away leaf compost every Saturday, so we might check that out too. We’re thinking about ordering compost in bulk this year instead of getting bagged manure from the store. I’ll probably put in the compost around the time that we clear out the peas and get started with tomatoes, so I can get some sprouts going while waiting to sort all of that out.
What am I going to change this year? Here are my notes from October 2013:
I changed my mind about irrigation. I think I’ll start by hand-watering the plants. It’s not that hard to do, and I’ve marked the rows a little more clearly now so I know what to expect. I probably won’t pay for a landscaping or gardening company. Maybe I can share more notes on our garden and ask folks for tips. I’m looking forward to growing more greens and herbs, and giving bitter melon yet another shot.
I planted the first batch of seeds this weekend, going through many of the leftover seeds from 1-2 years ago. After all, the seeds aren’t going to get any fresher, so I may as well plant them and see what sticks. Some of them germinate in a week, so let’s see if there’ll be any progress.
Yay growing things! (Well, eventually. =) )
Focus areas and time review
[ ]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
[X]Make sure all of my blogs are updated to WordPress 3.9
[X]Sketchnote a book – Mastery – Robert Greene
[ ]Brainstorm more tasks
[ ]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
[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
[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
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?
Here’s a list of interesting possibilities:
Crazy? Neat? =) What do you think?
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.
|Flickr – mine||f||
Here’s how you can define your own search engines:
%s will be replaced by the search terms from the command line.
Try setting up search engines for yourself. It takes a few minutes to set up one, and it makes searching so much easier.
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. =)
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.
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:
If you’re like me, you probably have a to-do list several miles long. I like thinking of this as the backlog from agile programming. It’s a list of tasks that I could choose to work on, but I haven’t committed to doing everything on the list. This means I don’t have to waste energy feeling guilty about not getting everything done. Instead, I can treat it like a buffet of projects to choose from depending on what I feel like working on.
I think I add tasks faster than I cross tasks out. (Hmm, I should track this!) It never ends. Most tasks suggest next steps I could take after I finish the first ones. You might think that an ever-growing to-do list is a bad thing. This is okay. In fact, this is good. It means that I’ll always have a variety of tasks to choose from.
People manage tasks in different ways. For my personal tasks, I use several large text files in Org Mode for Emacs. Org Mode is an outline-based tool which makes it easy for me to organize my tasks into projects and projects into themes. It also supports tagging, links, agendas, dynamic views, and all sorts of other great ways to slice-and-dice my task list. Here’s how I deal with some of the common challenges people face with a large task backlog:
If something has a deadline, I add the deadline in Org using
C-c C-d (
org-deadline). This means that reminders will appear on my daily agenda for the 14 days before the deadline, counting down to the deadline itself. (The number of days is controlled by
org-deadline-warning-days.) In addition, I usually schedule the task for a day that I want to work on it, so that I can get the task out of the way.
I’m careful about what I commit to, erring on the side of under-committing rather than over-committing. I’m selective about my client work and my volunteering. I keep my schedule as open as I can, and I’m not afraid to reschedule if I need to. Hardly anything I work on could be considered urgent. If an urgent request does come in, I ask questions to determine its true urgency, including potential alternatives and consequences of failure.
You might not have as much choice about what to work on, but you might also be surprised by how much you can push back. Be careful about what you allow to be urgent in your life.
I have plenty of space to work on things that are important but not urgent because I manage my commitments carefully. This means that I can usually finish a few important-but-not-urgent tasks every day.
Which tasks do I consider important? I like thinking in terms of projects. Important tasks tend to be associated with projects instead of standing in isolation. Important tasks move me toward a specific goal. I have many goals and projects, but because they’re fewer than the number of tasks I have, I can prioritize them more easily. I can decide that some projects are in the background and some are in focus. Important tasks are the tasks that help me make more progress on the projects I consider important.
Because I like having two or three projects on the go, it helps to make sure that I make regular progress on those projects instead of getting carried away on just one. Tracking my time helps me stay aware of that balance. I also review my projects every week and schedule specific tasks for each of them, so I can make a little progress at least. Once I switch context and start thinking about a project, it’s easy to pick another couple of tasks in that area and get even more done.
If you’re struggling with creating enough space to work on important but not urgent tasks, you might be able to partner up with someone so that you can block off time to work on non-urgent things. Many teams have a rotating schedule for dealing with customer requests or urgent issues. One person covers the requests for a day, allowing the rest of the team to focus. Then the next person takes on that duty, and so on.
One of the useful tips I picked up from David Allen’s Getting Things Done book was the idea of marking a task as WAITING. I usually add a description of what I’m waiting for, who’s responsible, and when I want to follow up. This makes it easier to follow up. When I’m waiting for a specific date (ex: the library makes a DVD hold-able after a certain date), I schedule the task for then.
I use the Boomerang for Gmail extension when I’m waiting for an e-mail reply. Boomerang lets me pop the message back into my inbox if I haven’t received a reply by a specific date, so I don’t have to keep track of that myself.
There are tasks on my to-do list that have been on that list for years. This is okay.
I’m getting better at noting names and contact information in my tasks so that I can follow up with people even after some time. This is particularly useful for book recommendations. I get a lot of book recommendations and I get most of my books from the library, so there’s usually a delay of a few weeks. Because Org Mode lets me add notes and links to the body of a task, I can look up information easily.
I work on less-important tasks when I don’t feel like working on my major tasks, or when I’m looking for small tasks so I can fill in the gaps of my day. Org Mode gives me plenty of ways to look up tasks. I usually look for tasks by projects, navigating through my outline. I can also look for tasks by effort estimate, so I can see everything that will probably take me less than 15 minutes. Context is useful too – I can search for various tags to find tasks I can do while I’m on the phone, or out on errands, or when I feel like writing or drawing.
I like thinking in terms of low-hanging fruit, so I often choose tasks that require little time or effort and have good impact. It can be overwhelming to look at a long list of tasks and decide which ones have good return. It’s easier to tag these tasks when you create the task, or to think in terms of projects instead.
Some tasks grow in importance or urgency over time. If I want to make sure that I revisit a task on a certain date, I schedule it for then.
I still end up rescheduling tasks multiple times. (I’ve been putting off redoing my business cards for a few months now!) I’ve noticed that there are different kinds of procrastination, including:
mto mark multiple tasks, then type
Sto scatter tasks randomly over the next N days. (Call it with a prefix argument as
C-u B Sto limit it to weekdays.) If I catch myself procrastinating because I don’t have enough time, that’s usually a sign to be more cautious about my estimates and commitments, so I adjust those too.
I procrastinate based on my to-do list, not based on my inbox. The inbox is a terribly unstructured way to manage your tasks. I use Boomerang for Gmail to defer some mail to a later date, but that’s usually so that I can pop it back into my inbox the day that I meet someone so that I have context and so that I don’t have to copy the link into the calendar entry or my TO-DO list.
So that’s how I deal with having a large backlog. I focus first on the stuff that I need to do, and I make sure that shows up on my agenda. Then I make it easy to look for stuff that I want to do using Org’s support for projects, tags, time estimates, and so on. I don’t feel guilty about having lots of tasks to choose from. I view my backlog positively. It lets me do good stuff without worrying too much about how I spend my time.
How do you deal with your backlog? =)
I'm experimenting with spending more time focusing on Emacs. So far, it's working well. I've been moving more resources to Git and github.io (http://github.com/sachac/) to make it easier for people to check out and view the Org files in Emacs. And people have started sending me pull requests, hooray! itsjeyd contributed a section to this Emacs Lisp tutorial. This week, I'm planning to flesh out the reading Emacs Lisp tutorial more.
&work… Hat-tip to Irreal for the link
Focus areas and time review
[ ]Earn: E1: 2.5-3.5 days of consulting
[ ]Go to Quantified Self meetup
[ ]Host visual thinkers meetup
[ ]Record session on learning keyboard shortcuts
[X]Build – Coding: Tweak post info to appear in sidebar on wide screens (> 1600px)
[X]Add batch operation for "Today" and "Yesterday" to clothing view
[X]Read Eloquent Ruby
[X]Track all the experiments
[X]Fix vagrant VM
[X]Analyze a year of clothing data
[X]Brainstorm more tasks
[X]Add more tasks to delegation board in Trello
[X]Set up custom domain for git, update redirects
[X]Decide on Linode crossgrade to SSD
[X]Getting R and ggplot2 to work in Emacs Org Mode Babel blocks; also, tracking the number of TODOs
[X]Use the structured debriefing framework for one occasion, then reflect on it
[X]Outline a book or the key things that need improved documentation/tutorials
[X]Learn how to plot with Org and R
[X]Clean up live coding screencast for viewing tasks by project
[X]Add more sections to Emacs Lisp tutorial
[X]Experiment with exporting orgtbl
[X]Reinvesting time and money into Emacs
[X]Share picking up workflow tips by reading other people's configs
[X]Help with gozes' configuration
[X]Invite bbatsov for an Emacs Chat
[X]Plan pairing with Tom Marble?
[X]Set up interviews with people
[X]Talk to David Wolever about Emacs
[X]Frugal Fire: Co-host interview with Bakari
[X]Frugal Fire: Transition to Jordan
[X]Check parts for rice cooker
[X]Fix rice cooker
[X]Chat with splintercdo (Janis) about literate programming
[X]Set up conversations
[X]Ask questions in public
[X]Download talks as MP3
[X]Follow up on missing book? Obliquity
[X]Make a list of questions I'm curious about
[X]Tidy up desk
[X]What's new in Rails
[X][#C] Track cat data
[ ]Deposit USD
[ ][#C] Tracking: Update the number of tasks
I’ve posted ten Emacs Chat episodes so far, and the transcripts for the most recent ones are coming soon. These are hour-long conversations with Emacs geeks about how they got started with Emacs, why they like it, and how they use it. We usually go through people’s config files, too, since that often leads to interesting tips.
Literate programming, Unity game development, code folding
Org Mode, time tracking, LaTeX, and invoice generation. Also, Clojure + Emacs and other good things.
Music and SuperCollider
Hanging out with other Emacs geeks, Emacs Rocks, and board games
Org Mode maintenance, getting started with Emacs, hacking his life with Org
Getting started with Emacs, the joys of Calc, and other cool things
|Thomas Kjeldahl Nilsson
Thomas shares about Emacs and picking up configuration snippets from EmacsWiki.
Org-mode literate programming, Ruby, and how he got started with Emacs.
Emacs Lisp development and other good things
|and me! =)||Sacha Chua
in which Bastien Guerry interviews me
I started this because it was so much fun meeting Emacs geeks in person at the Emacs Conference in London last year. (When are we having another one? I’m happy to sponsor a reasonable venue.) You pick up lots of tips when you watch how someone else uses Emacs, but not everyone has the luck of working near other Emacs geeks. (I don’t!) I also wanted to get to know other Emacs geeks so that I could “hear” their voices when reading mailing list messages and code snippets. I wanted other people to get that feeling of knowing people in the community – other real people who use Emacs.
I was pretty anxious about it in the beginning. Would I be able to ask interesting questions, or would there be dead silence? What if I hadn’t researched people well enough? Would asking people about their beginnings get repetitive after many episodes? I feel a little more relaxed now. It turns out that it’s easy to invite people to be on one of these conversations, and I always find the conversation interesting. People are so enthusiastic about Emacs. Yay!
It’s been great hearing stories from people who’ve been using Emacs for ages (like Iannis Zannos and Tom Marble) and people who’ve gotten into Emacs fairly recently (like the way Magnar Sveen only seriously started using it a few years ago). Org Mode frequently pops up in conversation. I’ve learned about lots of other interesting packages as well, like redshank and erefactor.
People tell me that they enjoy listening to the episodes. The episodes are still on the long side (an hour or so, versus short-and-punchy 15- or 30-minute chats), but they’re good for picking up odd tips.
Of the little podcast experiments I’ve been running, the Emacs Chats series is my favourite. Other experiments were easier to sketchnote (which people also really enjoyed), but I like the Emacs community the most. =)
From these experiments, I’ve learned that Google Hangout on Air is a convenient way to create an audio/video show with guests. With a little bit of work, you can turn these conversations into podcasts that people can download and subscribe to, transcripts that people can read, and so on.
I wanted to learn how to delegate a smoothly-running process. That worked out really well. Now, when I finish an episode, I simply add a card to my Trello board with the URL and my assistants will post the show notes and the transcript for me.
I could probably make this even better by following up. I can spend more time editing the transcripts, adding links, and summarizing key points. Maybe I’ll convert the transcripts to Org Mode and then structure things more from there.
In terms of scheduling, picking times that are a month or two away seems to be working well. I like proposing specific times with Boomerang Calendar. It feels more proactive than asking people to check http://sachachua.com/meet for meeting times, although both ways still involve a bit of work for the other person since they have to check their calendar. If I suggest the times and do the timezone conversions myself, that means we can set the time with fewer clicks required from the other person. It doesn’t feel as stand-offish as cc-ing an assistant who may or may not be able to quickly reply. (Although perhaps I should train my current assistants to do this, since they seem to be fairly responsive…)
I mostly find people through recommendations, so if you want to hear from someone, suggest them or introduce us by e-mail. I’d love to interview more women who use Emacs (maybe Amelia Andersdotter?), but I’m happy to chat with all sorts of folks about Emacs. You don’t have to be famous. =) If you’ve got an interesting demo to share, I’d love to hear from you too.
Onward! With Alex Poslavsky’s help, I’ve been adding more Emacs Chats resources to Github so that people can easily subscribe to it or contribute there. I noticed a few of them were missing transcripts, so we’ll work on that too. What else would make these Emacs Chats better or more useful for you?
I added the ability to analyze clothing use by week, month, or year to Quantified Awesome, where I’ve been tracking my clothes since August 2011. With a little bit of Microsoft Excel formatting, here’s part of the analysis I get:
(more rows omitted)
You can see how I’ve practically been living in snow pants this past winter, which has been very cold. Unsurprisingly, I don’t wear it at all during warmer months. Sweaters and long-sleeved tops are bursty too, naturally. I bought my two pairs of jeans from a thrift store in April 2012 and have been wearing them fairly regularly since. I also wear my office slacks a lot, since I have fewer of them compared to tops.
Nothing particularly unintuitive about this data, but it’s interesting to see. One of the later rows reminds me, hey, where did my black WPengine shirt go? That was comfy, but I haven’t worn it in 4 months – it might have disappeared into J-‘s closet. Now that we’re almost the same size, sometimes things get misfiled. Also, might be time to donate more clothes…
It’s been twelve years since David Allen published Getting Things Done, with its geek-friendly flowcharts and processes for handling tasks in an interrupt-driven life. The way I manage my tasks is heavily influenced by GTD. I think in terms of next actions, waiting, and someday, and I have weekly reviews. I modified the TODO states a little to reflect what I need. It’s time to think about those states again to see what I can tweak and what reports I could use.
I use Org Mode in Emacs to manage my tasks and my notes. I can customize it to give me different kinds of reports, such as showing me all of my unscheduled tasks, or all tasks with a specific category, or even projects that are “stuck” (no next actions defined). Thinking about my processes will help me figure out what reports I want and how I want to use them.
Here are different types of tasks and how I track them:
WAITING, but probably better to implement with org-depend
TODO, scheduled (I used to use
TOBLOG. These are pretty optional, so I don’t want them in my TODO list…
I use the following code for an agenda view of unscheduled tasks:
(defun sacha/org-agenda-skip-scheduled () (org-agenda-skip-entry-if 'scheduled 'deadline 'regexp "\n]+>")) (add-to-list 'org-agenda-custom-commands '("u" "Unscheduled tasks" alltodo "" ((org-agenda-skip-function 'sacha/org-agenda-skip-scheduled) (org-agenda-overriding-header "Unscheduled TODO entries: "))))
So the to-do process looks like this:
C-c a a) and do all the tasks that are scheduled.
C-u C-c C-w(
org-refile) and work on it.
org-captureto create the task, file it in the appropriate project, and then clock in.
org-captureto create the task and file it in the appropriate project.
How do I want to improve this?