Posts Tagged ‘Productivity’

In Defense of Text-Based GTD Methods

September 20, 2017

Okay, so the title of this post is not fair to Robert Talbert, who talked about why he is going away from a text-based approach to Getting Things Done and went back to using ToDoist. However, this is a post I have been meaning to write for a week, and it fits in perfectly with what Talbert wrote.

Basically, Talbert wrote that he is moving away from a text-based approach to organizing his life (Todo.txt) and back to the ToDoist app. He explicitly said that this is a personal decision, and he is just reporting what works for him. I am going to describe a way that I solved one of the issues he describes in his post.

Background: I organize my word by having a plain text file on my work computer with all of the things I need to do (in part so that I can use with it, which I love). I do not use the Todo.txt method, and I think that I have probably evolved far enough away from Getting Things Done that I should not be referring to my process as GTD at all. However, I evolved from GTD, so there will still be a lot of overlap.

In addition to my text-based ToDo file, I use

  1. I ssh into my work computer to write down things I need to do if I am on a computer.
  2. A hipster PDA to capture ideas when I am away from a computer.
  3. I use a tickler file to capture items that I do not need to work on now.

Talbert’s main problem with Todo.txt involved syncing, and it sounds like a real problem. However, I never expected my hipster PDA to sync, so this is not an issue for me.

Talbert also mentioned that there is no easy way to do recurring tasks in Todo.txt. He talked about looking into cron jobs to take care of this for him, and he decided that he would rather have an app that just works (as Todoist does—you just click a button or two to make it the task keep reappearing regularly).

I opted for the cron job approach, which I explain below.

First, I will describe the old way. I have lists of recurring tasks I need to do every day. For instance, here is a list of tasks that I need to remind myself to do every Monday/Wednesday/Friday, the days that I teach (the details are not important, although it is worth telling you that I teach Math 124 and Math 343 this fall):

Check Canvas for pre-class work at 10 am
Change Dailywork in Canvas
Update Actual Plan
Grade (Daily Homework for sure, maybe other things)0 1 * * 1,3,5 /usr/bin/python Dropbox/HodgePodge/

Look at next class’s materials

Collect Daily HW in class, give to TA
Change Dailywork in Canvas
Update Actual Plan
Look at next class’s materials

These are things I need to think about every day I teach. The old way was to print out this list at the beginning of the semester, put it in my tickler for the next MWF, read it, type all of the above items into my text-based ToDo list, put the paper list back into the tickler file corresponding to the next MWF, and then delete the items as I do them.

It occurred to me, though, that I could just have the computer write these tasks to my text-based ToDo list. So I wrote a Python script (called that does it and set a cron job to schedule the Python script (cron is a scheduler for Linux machines).

First, here is my cron job code. I just typed “crontab -e” in a command line and added the following line of code:

0 1 * * 1,3,5 /usr/bin/python Dropbox/HodgePodge/

The initial “0 1” means to do “0 minutes after 1 am.” Then next “* *” means do any day of the month (1–31) and any month of the year. The final “1,3,5” means do the first, third, and fifth days of the week (MWF). So “0 1 * * 1,3,5” just means “do something at 1 am every MWF.” What should be done is to run Python (located at /usr/bin/python) on the file at “Dropbox/HodgePodge/

That is it—the computer now runs that Python script every Monday, Wednesday, and Friday. The Python script is below:

with open(“Dropbox/ToDo”, “r+”) as f:
old = # read everything in the file # rewind
f.write( “343:\nCheck Canvas for pre-class work at 10 am\nChange Dailywork in Canvas\nUpdate Actual Plan\nGrade (Daily Homework for sure, maybe other things)\nLook at next class’s materials\n\n124:\nCollect Daily HW in class, give to Joe\nChange Dailywork in Canvas\nUpdate Actual Plan\nLook at next class’s materials\n\n” + old) # write the new line before

Basically, this code (which I stole from someone—probably someone from Stack Overflow) just copies what was already in the ToDo file, prepends my new items for Math 124 and Math 343, and overwrites the old file with both the new information and the old (so it effectively just adds some stuff to the beginning).

This has worked well—my to-do list is ready for me immediately when I get to work, saving me a couple of minutes. In addition to, I also have,,, and, which all have their own cron job. Notice that both and both run on Wednesdays—to be safe, I just schedule the at a different time (12:30 am, which is

30 0 * * 1,3,5 /usr/bin/python Dropbox/HodgePodge/

in crontab, where “12 am” corresponds to the first 0).

I agree with Talbert that this is all personal preference. However, I like my system, I just did this a week before Talbert posted, and this seems to have a nice harmony with what Talbert wrote.


Scheduling Large and Small

October 30, 2014

I have always known that I kind of like scheduling things. I will be department chair relatively soon, and I am looking forward to making making the teaching schedules for people. When I was a kid, I would schedule fake professional basketball and baseball seasons for fun. This is a sort of macro-scheduling, and I enjoy doing it.

What I have recently learned about myself, though, is that I hate micro-scheduling. I don’t like emailing back-and-forth to find a time that works for all people. I have embraced tools like Doodle to some extent, but I usually have to schedule one-on-one appointments, and Doodle seems like too much work for that.

I have a lot of appointments right now with my advisees to choose classes for next semester. I decided to use the Google Appointments replacement, which I have written about before. This has worked ridiculously well, and it has saved me a lot of stress (Note: Neither Google nor has contacted me, and I am not getting paid to write about this. I am just a simple user).

For the last several years, I have not scheduled office hours. I stopped doing this because it actually made it harder for me to meet with students. Regardless of when I schedule office hours, most of my students cannot attend. This means that I have to make individual appointments with them and still attend my regular office hours. Because I need to attend my office hours, I cannot schedule meetings during this time. So I have to schedule the meetings during times when I could have been meeting with students, which means I cannot meet with students during those times.

So I have just been scheduling “office hours” individually as students need them (which is getting to be less and less), and I hate schedule this stuff (although I like meeting with students).

So my plan is to schedule “open hours” when I plan my work day. I will use, which I will post on my website and Moodle page. Students can sign up whenever they want, and I don’t need to do the scheduling, save for the random student who absolutely cannot meet with any of my preferred times. I think that this is going to greatly increase my quality of life.

Two things: Each morning, I am going to remove options to sign up for that day. This is because I don’t always re-check my calendar, and I don’t want any surprises. Also, I am going to start doing this after advising is done, since I don’t have any time between now and then anyway.

Does anyone have any experience with this? Any tips?

Mutt vs Gmail Revisited

October 2, 2014

I used to use Gmail; I thought about switching to Mutt last summer. I decided to try Mutt for the summer to see what happened.

Something surprising happened.

But first, I will briefly compare Gmail to Mutt: I like that they are both heavy with keyboard shortcuts. I find that I am get through my email really quickly with both applications.

Gmail (unsurprisingly) has a strong advantage when it comes to searching through old mail. I will eventually install something like Notmuch to make the searches faster.

Mutt has a big advantage in composing emails: vim is really awesome, and I prefer using it whenever I write any text.

Gmail has a slight advantage in convenience, since it is browser-based. However, I have an ssh app for my iPad and Chromebook, and I have a Mac at home, so Mutt is awfully easy for me to get to at home. If I am stranded someplace with only a Windows machine, I might be at a bit of a loss (I don’t know how to get the equivalent of a terminal in Windows without installing something like PuTTY), although I do have access to a website that acts as a terminal. So this is basically even.

Here is the surprise: Mutt indirectly makes me much more productive.

I was not expecting this. Here is the deal: I like staying on top of email, so I have my email open all day. But Gmail is in a browser, so checking email leads to checking Feedly…and Google Plus…and other distracting websites.

When I check my email with Mutt, I just look in the terminal, and when I am done with email, I go back to work.

This was not intentional at all. In fact, it took me a while to notice that I was spending a lot less time on the internet wasting time.

So Mutt is staying.

This has been enough of a positive over the past four months that I am going to try (and likely fail) at Cal Newport’s latest suggestion: don’t web surf during the work day.

I am a person who functions best when rules are black-and-white. I can be good at complete abstinence from things, but I am generally bad at moderation. I think this could work for me, and I am looking forward to the increase in productivity (especially since I keep to a strict work schedule).

The only things I need my browser open for are Google Calendar and Google Tasks. The latter I can take care of using a text file (I did this this summer already, and it worked fine). I can probably get by with looking at my calendar each morning and then immediately closing it. In other words, I think that I do not need to have my browser open at all during most of the work day.

This means that I will have to do all of my Feedly-checking and G+-checking (and, sadly, checking for NBA news) after my wife has gone to bed. I think this could work. But we will see.

Summer Plan

June 11, 2014

My family and I agree that things work best when I work pretty strict hours—I work 7:45 am to 5 pm during the school year. I do very little work at home. However, I need to do a lot of prep work during the summer to make this possible. Because of this, I work a lot in the summer (we allow for 6 weeks of vacation for the year, so the default mode for the summer is “work”), although my hours are now 8:15 am to 5 pm.

Here is my plan for the summer:

  1. Take care of all of the annoying paperwork-type-stuff that needs to be done. This includes some work that I do every summer: updating my CV, updating websites, and reading and summarizing course evaluations. I also have some jobs that are particular to this summer, such as determining which mathematics courses should be considered for transfer credit at some neighboring colleges. (I am happy that I have already done this entire item).
  2. Do some reading about redesigning general education requirements. My college is considering restructuring these requirements, and my main goal for the summer is to try to determine (along with my other committee members) some sort of reasonable process for this. Fortunately, this is paid work (mostly).
  3. Plan my geometry (and prob/stats/graph theory) course for elementary education majors for the fall. This is also done, largely because I taught this course in the spring. I kept detailed notes (I am grateful I did this), and I mainly updated this course by building in more feedback. In particular, I wrote all of my quizzes for the semester, created solution videos for each quiz, and updated my examinations.
  4. Plan my calculus course. I am planning on using Team-Based Learning, which I learned about from Eric Mazur in this video. Again, planning includes (in chronological order) creating all learning goals, creating all assessments, and creating all class activities. When the semester comes, my main task will be briefly reviewing the plan, adapting that plan based on the students’ needs, recording what actually happened (and how I might improve things next time), meeting with students, and grading.
  5. Do research. I have 3–4 papers that I need to write up, and I hope to re-start work on two projects that have been on hold for too long.

Finally, one benefit of working during the summer is you can be amazingly productive. I am often the only person here, and I can be very productive in such an environment.

Mutt revisited

June 4, 2014

This is a short story about why it is nice to blog; your comments helped me realize what I actually wanted to do. I wrote last week about how I was unhappy with Mutt. Summary: I tried to run GMail through the email program Mutt, and the result was a really slow email program.

Because of several comments by different people, I realized that

  1. I have a slight concern about how Google respects my personal privacy; this is not a huge concern for me, though, and it would not be enough to make me switch.
  2. I have a huge concern about my students’ privacy, and I have been concerned about GMail for a while. Your comments helped me realize that Mutt could be a solution.

Because of a conference relating to my biological children’s educations that I attended last weekend, I realized that I really want to learn more about Linux. So Mutt gives me a chance to do this.

So now I have three reasons to change, and a colleague (Michael Gass) gave me the most elegant solution: use Mutt without GMail. That is, I now use Mutt and POPMail to get mail directly from my school’s servers. Now, Mutt is as fast as it should be.

Today is the first day that I have Mutt up and running, although I have been reasonably happy with it so far. But if I run into problems, I might switch back. One potential problem is that I check my email mostly on my iPad at home, so I need to figure out something to do there (although it could be that my ssh app will work just fine with Mutt on the iPad). A possibly related problem is that getmail is not deleting the emails once they are fetched from the school’s servers (even though I have ‘delete=true’ in my .getmailrc file). This drives me crazy because I crave empty inboxes, although this may be a solution to my iPad problem; I can access Outlook via the school’s webpage or some other app, and the messages will all be there.

I suppose there is a good chance that I will change my mind again next week.

Mutt vs Gmail

May 29, 2014

I really wanted it to work. I really did.

I experimented for a couple days with using Mutt for email. I love the ability to compose emails with Vim, and I had heard that it was lightning fast. If I am honest with myself, my interest in Mutt was also related to the fact that I aspire to be a Linux geek (which I cannot claim to be right now).

So I configured Mutt to get mail from my Gmail account. That way, I could still get all of the benefits of Mutt at work while still enjoying the ease of access to Gmail everywhere else (I usually use the iPad to check email at home).

I wanted Mutt to work. I really wanted Mutt to work. But it didn’t. The problem was that it was muuuuuuuch slower than Gmail. When sending or archiving messages, Mutt took probably 5 to 10 times longer than Gmail did (Mutt takes maybe 2 seconds, whereas Gmail is near instantaneous. I recognize that 1998 Bret would be ashamed of 2014 Bret for caring about this small of a difference). Since I can mostly use Gmail without a mouse, I have come to the conclusion that Mutt is not worth it for me.

Of course, there is always the possibility that I screwed something up while configuring Mutt; let me know if you think that I did something wrong to cause this.

Speeding Up Videos

May 14, 2014

I had my 20 elementary education majors produce video projects. These were all due at the end of the semester, which means I have to grade them all now. Each student produced roughly seven 4-minute videos, which means that I have roughly 10 hours of video watching to do as part of my grading.

Or do I? I downloaded this app for my Chromebook, and I have been watching the videos at twice or triple the usual speed (depending how quickly the student naturally talks), cutting my time watching videos to 3–5 hours with no loss of grading quality.

I am very grateful for this app today.

Firefox Shortcuts

April 27, 2014

I have been so happy with the GMail keyboard shortcuts that I have decided to learn similar shortcuts for Firefox.

I mainly just want to be able to quickly change tabs, move to the search bar, and move to the address bar. If I could do those three things, I will be in good shape.

[Edit 6:29 am on April 28: I am already thrilled just from knowing that control-l puts you in the address bar, control-k puts you in the search bar, control-[ goes back a page, and control-] goes forward. This is in addition to already using control-t to open a new tab. I find that control-1 through control-8 is also helpful to go to the 1st through 8th tab, although I use this less than the other commands.]

I haven’t practiced these yet, but I will starting tomorrow.

(Again, I am probably really late on this).

A Google Appointments Replacement

April 9, 2014

I am planning on doing some oral exams in my classes, and I previously used Google Appointments to do this. Unfortunately, Google Appointments is no longer available.

Instead, I plan on taking Jack Dougherty’s advice and use to schedule the oral exams. Dougherty gives a very detailed explanation on how to use this service in the previous link. I will write about how it works when the time comes.

(Disclaimer: I have not been contacted by YouCanBook.Me, and I have no affiliation with them).

Reducing Stress with Tickler Files

March 25, 2014

I have been annoyed a bit this week with other faculty members who do not reply to email. My best guess is that these faculty members just lose track of the things they need to do (like respond to my email). So as a public service, I have decided to write about the single best thing that has helped me keep track of what I need to do: tickler file.

I learned about the tickler File from David Allen’s Getting Things Done.. A tickler file is essentially a system where you can write notes to your future self. Here are the basics:

  1. A tickler File consists of 43 folders labelled 1–31 and January–August (31+12 months=43).
  2. The folders labelled 1–31 correspond to the next month. So if today is March 25th and I know that I need to call Buffy on March 27th, I simply write “Call Buffy” (ideally with her phone number) on a sheet of scratch paper and put it in the folder labelled “27.”
  3. If I need to call Buffy on June 6th (and today is March 25th), then I write “Call Buffy on June 6th” and put it in the folder labelled “June.”
  4. I check the folder every day; today (March 25th), I checked the “25” folder; tomorrow I will check the “26” folder.
  5. On the first of April, I will check the “April” folder and distribute the notes to the appropriate 1–31 folders. I do a similar thing on the first of every month.

That is basically it. It is not complex, but it prevents me from forgetting about things; more importantly, it reduces my stress, because I know that I will not forget things.

Finally, I use this for things other than simple tasks like “Call Buffy.” I use it to remind myself to start working on a paper, to remember whose birthday it is, and to let me know what I need to do to prepare for class that day. It allows me to put off non-urgent decisions without worrying that I will forget about them.

My wife has started using my tickler file. She asks me to remind her of things that she needs to do if they are more than a month away.

This is a low-cost, high-reward system. You should start using a tickler file if you haven’t already.