Walter Manger | To The Triforce
Quests for Knowledge

Emacs This Week - Week 18

I’ve decided that I am going to write about the things that I’ve done to make my life easier with Emacs. I will attempt to write weekly, if, of course, there is enough content to warrant a post.

Here’s what I’ve got so far: (this is slightly cheating since I have not posted in a couple of weeks)

Started easing into using Org-Mode for planning And tracking

I am starting to use org-mode’s todos and agenda pretty heavily. There’s still a way to go as I don’t have a great workflow yet. Basically, my flow consists of this:

  1. Attend a stand-up at work
  2. Decide on what I may work on that day, then create and schedule those items
  3. Track time against those items and mark them done when they are

I think an improved workflow would be

  1. Get all of the work items into my org file immediately when I know about them
  2. Write any notes that I may think of for each of the tasks
  3. Create checkbox items to break down the tasks
  4. In the beginning of each day, select the items that I think I could get done that day, reviewing the notes as needed
  5. At the end of the day, move any tasks that need to be moved on to the next day

Added the ability to track time to Harvest with Harvest.el

I’ve switched my Agenda time tracking to also track to harvest. I also learned more about elisp as a result of fixing a bug in Harvest.el. Elisp is pretty awesome :)

Started using Go-Mode

This last sprint I took on some significant Go work, which prompted me learning more about the Go-Mode package that I’ve had installed for a while now. I started taking advantage of things like C-c C-j (jump to definition) and M-* (pop-mark to get back to the place I jumped from). I am not completely happy with the bindings here, but it isn’t killing me. I liked using C-c C-d for Godoc in the minibuffer. For some reason, my hook to gofmt upon saving stopped working one day… not sure why. I used (ff-get-other-file) to find the corresponding *_test.go file. Sometimes it didn’t work as there were some mismatched file names – it’s not Go-Mode’s fault.

Relied more on eshell for CLIs that were not so chatty

Eshell has been great for most everything I do, however. When using CLI’s that produce large amounts of output, eshell seems to get bogged down. I have not looked into why this is happening. I suspect that it has something to do with the amount of history that I keep in the buffer. I’ll investigate some other time. For now, anything that I know is going to barf out thousands of lines is going to have to be performed in my iTerm 2. Along these lines, when I am executing unit tests, eshell does not get bogged down, but the output isn’t really that pretty. I’ll need to investigate this too.

Stayed in Magit 90% of the time when using Git

I am really starting to love Magit. There are just a few things that I need to get better at that really have nothing to do with Magit per se. One area that bit me last week was dealing with a bad merge. I was unable to get myself out of the mess without going back to Tower and Beyond Compare for diffs. Beyond Compare’s interface for performing merges is pretty hard to move away from. All in due time. I’ve achieved the goal of not having to use my mouse at all when dealing with Git 90% of the time – that’s good enough for now.

What still needs work?

  1. General Editing Efficiency
    • There are times where I find my self pressing jjjjjjjkkkk (I use evil) to move around the document, when I could be either using search or something like avy (which I have not installed yet).
  2. Better eshell Configuration
    • I don’t have any of my Zsh settings available. I know that there is a way to make this happen, I just have not had the time. Eshell colors are not awesome at this point. I am not sure if I can fix this completely, but I’ll research it.
  3. Org-Mode / Planning Improvements
    • Work on getting better at planning in general. Allocate time for managing tasks. Planning make for a better overall experience.
  4. Start Estimating Effort in Org-Mode Tasks
    • Learn more about estimating time and developing weekly reports – like Sacha Chua does.
  5. Daily Reflection
    • Start spending 10 minutes at the end of the day to reflect on the things that I did that day and keep it in a Work Journal (I’ll need a capture for that).
  6. Harness Org-Mode’s Habits
    • Repetitive tasks, such as the Daily Reflection above, should be defined as a repetitive task in my Org file so I can track how often I do reflect.