Thoughts on “Getting Things Done”

I finally finished reading “Getting Things Done” by David Allen. This has been on my reading list for years so I am glad that I finally got a chance to scratch it off of that list. Overall, it was a good read and I learned how to approach an overwhelming number of tasks with Allen’s proven methodology.

My biggest takeaways from the book were:

  1. Get things out of your head and somewhere where you will look at them later. Big or small, short or tall, write it down.
  2. Identify what success, or “done” actually looks like right away.
  3. Identify the next step instead of worrying about the scope of a large project.

I’ve been using Kanboard to manage my day to day work for both professional and personal projects. Before that, when I was using OS X I used a program called OmniFocus which does an amazing job at allowing you to capture items from any context. Using a simple shortcut (Super + Space) it let you get things out of your brain quickly.

No other tool that I know of does this, and its a real shame because the biggest barrier to feeling relaxed about the pile of things you have to do is being able to trust that a specific item is going to be looked at again from any context. When adding a task to an app feels like work (i.e you have to go to a webpage, open an app, etc) then you may not do it.

I attempted to reproduce the magic of OmniFocus with a simple desktop app that I wrote called TaskAdder. When mapped to a keyboard shortcut (Ctrl + Space for me) it lets you add a task to your Kanboard from any context. Using this app for the last few weeks while reading GTD has changed my life.

Overall, the book was great. My only gripe is that it was a bit verbose. Many chapters repeated the same ideas, and the same examples. In addition, although these methods could apply to any human being a lot of the examples and anecdotes that Allen offers come from big wig executives who have secretaries, offices, and enough money to afford his one on one consulting work. My eyes began to roll after the third time that I was reminded to talk to my secretary (which I have never had) about helping me with my workflow.

If you don’t like reading verbose books, I still think that looking into the GTD methodology is worth doing. The main website is full of great examples, diagrams, and resources.

Portable MFA

A couple of years ago I got the portable MFA book for Kindle. I was really into writing back then. I kept a blog (which I have since completely deleted) called “The Thoughts Bubble” where I would write poetry, prose, short stories, and thoughts about writing in general. I think I even wanted to just become a writer at some point.

My Kindle has been sitting on my bookshelf, dead, for several months now. This does not mean I have not been reading, I have just not been reading on my Kindle. I have been fluctuating between Apple iBooks, Physical Books, and random free ebooks that I find online. I finally charged up my Kindle last night and started to read the first of the Foundation series by Isaac Asimov. As I was looking through my Kindle Library, I stumbled across this book again and decided to read it again.

I miss being younger, and having ideas. When I read this book the first time I was able to really take advantage of many of the exercises and fondly remember exercising my writing skills. Now, I am stuck on the very first exercise called Poem, Dream, Conflict. Essentially you think of a quote, a recent dream, and a recent conflict that you have had and write a couple unrelated paragraphs of prose. Then you put them all together without explicitly referencing anything. The main idea here is that when it comes to writing short stories, the more questions you leave open to the reader the more compelling your work becomes.

I don’t remember the last time I read a poem. All of my dreams are horrible but I cannot recall any specific reason why. I try to avoid conflict. I spent a good hour staring at a blinking cursor while trying to complete this exercise. I gave up and started reading some poetry instead.

Notes on Steve Krug’s “Don’t Make Me Think”

I am working my way through Jeff Atwoods reading list and finally got around to reading Don’t Make Me Think by Steve Krug. This is one of the best books that I have read in quite some time. His writing style is amazing, and there is so much useful content in the book that I don’t even want to spoil it by talking about it here.

As a completely unrelated side note, Steve Krug is a Usability Professional, the last time I read about this specific term was in Cory Doctorow’s Eastern Standard Tribe where the main character had the same career.

Hot Takes

  1. People don’t read your website, stop designing it like they do. Instead, learn how to make great billboards.

  2. Focus on the problem you are solving rather than the problem that has already been solved.

There is a common trope these days on Twitter where people joke about the fact that every product website looks the same. Jumbotron header, green call to action, and a three column list with icons that explain what your product does. For instance:

Mockup of Every Website Ever Made

I see this now as a less of a problem, this model works, its clear, use it and focus on building your product instead of re-inveting the wheel of what product pages are supposed to look like.

  1. Write Less. My favorite part of this book is the heading to Chapter 5; Omit Needless Words. I learned about this when I read On Writing Well during an expository research writing course in college, but based on how much text is in this paragraph, I seem to have forgotten the lessons that the book taught me.

  2. Write Less.

  3. Don’t punish users for not doing things your way. This is especially true for forms of all types.

Don’t make me jump through hoops just because you don’t want to write a bit of code.

  1. Think about Accessibility. I am guilty of this myself, but primarily because all of my projects are half finished. The main things to watch out for are color coded things, inability to adjust text size, and making things impossible to read via a screen reader. (Like by using HTML tables for structure). Ricardo is famous for thinking about these types of things in his projects and it motivates me to do better.

Further Reading

I am one of those strange people that read the bibliography, further reading section, and hang on to each recommendation. This is partially why my current reading list is too long to even look at. With that being said, a couple books that I plan to read per Krug’s recommendation are:

  1. The Design of Everyday Things — Classic Book about design. If you look at some of my work (this blog, braindump) you will immediately realize that I am not a designer. I am OK with that, I hope this book will help me get a better understanding of the fundamentals.

Update:
By the time I finished this post, I already bought the book at my local bookstore. Can’t wait to read it.

  1. Letting Go of the Words — how to become a better writer for the web.
  2. Forms that Work: Designing Web Forms for Usability — I have not heard about this book before, but as someone who has used and designed a bunch of awful forms this seems like a great use of my time.
  3. Rocket Surgery Made Easy — Don’t Make Me Think had a great overview of DIY usability testing, this is a follow up from Krug that dives deeper into Usability Testing for teams that cannot afford the $5-10K cost of a professional usability test.
  4. A Web for Everyone: Designing Accessible User Experiences — The chapter about Accessibility in Don’t Make Me Think really hit home for me. I look forward to learning more about the accessibility problems that I do not think about that often and apply them to my own work.

Notes on Mastering Sublime Text

I picked up Mastering Sublime Text while working through the first section of the Rails Series on Coursera. First, its nice to sometimes switch up your text editors to see what you are missing. Second, Sublime Text has a very small learning curve and I never took the time to learn about some of the more advanced features so this was a decent use of my time. Third, I really want to write a CircleCI plugin for Sublime Text similar to the ones that exist for atom and Visual Studio Code, and this book has a great section that goes into detail about what it takes to write a plugin.

Things that I always loved about Sublime Text

  1. Multi-line Selection
  2. Dead Simple Multi File Find and Replace
  3. Speed — Go try to open a 10K line log file in Atom. I’ll wait.
  4. Package Control package manager was one of the first of its class for GUI editors. Go try to install any plugin in Eclipse. I’ll wait.
  5. Distraction Free Mode — Perfect for writing prose

Things that I wish Sublime Text had after using Atom

  1. Color coded indication about git status. There seems to be a feature request for this, but I am not 100% sure of the reasoning on why this is so challenging to implement.
  2. File Type Icons; I don’t know why but this is one of my favorite atom plugins and it makes quickly finding the files that you are looking for a breeze.
  3. Pigments plugin – another one of my favorites. ST has a similar plugin but its not as good and it also underlines the font which can be a big hard to read.
  4. Being able to drag and drop files around in the sidebar. This comes in handy quite a bit.
  5. Better overall git support, I actually think that VS Code has some of the best git integration out there, followed by magit and vim fugitive.

Things I learned

Searching

  1. Sublime text has incremental search. This was one of my favorite features of emacs. Command + I opens it up, and you can go to the next result by repeating Command + I.
  2. When searching for stuff, if you double click on the result it takes you directly to the file. This is such an awesome feature.
  3. Go to anything with Command + P, holy crap is this powerful.

Editing

  1. This did not come directly from the book, but I learned this cool trick while working on this post. If you highlight some words you can then wrap them in braces. This is super handy when adding links in markdown.
  2. Snippets; I have triggered snippets accidentally in the past, but learning more about how they work and how to make custom ones was very useful.
  3. Vintage mode makes sublime behave like vi. Pretty cool!

Plugins

  1. SublimeCodeIntel – one of the best features of VS Code is IntelliSense, this comes close and is a super powerful code-completion plugin.
  2. TrailingSpaces – Linus Torvalds tells developers who use any editor that does not automatically strip trailing white space to get a real editor. This is built into Sublime Text, but this plugin adds some additional features to make this even better.

Sublime Text Internals

  1. Sublime has a bunch of useful Environment Variables that can be used when developing snippets and plugins.
  2. Visual Cues, I mentioned earlier that I really like some of the visual cues that Atom offers. There are a couple built in settings like making folders bold and highlighting modified tabs that make things easier to look at.

Testing

  1. The biggest difference between mode IDE’s and Text Editors is build in testing and building functionality. Although testing is not built into Sublime Text, the book did an excellent job talking about several plugins that make testing PHP, Python, and Ruby a breeze. I found the RubyTest package to be the most useful since it has built in support for Test::Unit, Rspec, and Cucumber.
  2. There are also a ton of great plugins for debugging from within Sublime Text.

Plugin Development

  1. This was my primary reason for getting this book since I want to write a CircleCI Plugin that shows the status of your most recent build in the window. I was not disappointed, the book did a great job discussing what it takes to start, develop, and publish a plugin.

Errata

  1. SublimeLinter; the book mentions this plugin and says that it has a bunch of linters build in, this is no longer the case. It’s still a very useful tool, it just requires a bit of configuration to get the most value out of it.
  2. The book tells you to add trim_trailing_white_space_on_save to your user settings if you have installed the TrailingSpaces packages. This did not work for me on Sublime Text 3. Instead I needed to add this setting under the trailing_spaces.sublime-settings file with the new key called"trailing_spaces_trim_on_save"

Parting Thoughts

Mastering Sublime Text is a quick read, full of useful information for new and experienced users of Sublime Text. I would highly recommend it for anyone who uses Sublime to serve as a deep dive introduction and as a handy reference manual.