mirror of
https://github.com/correl/correl.github.io.git
synced 2024-11-15 03:00:11 +00:00
Add draft for a post about using emacs org mode
This commit is contained in:
parent
a0414d505e
commit
abf12995f0
2 changed files with 107 additions and 1 deletions
10
_config.yml
10
_config.yml
|
@ -3,4 +3,12 @@ name: correl.phoenixinquis.net
|
|||
description: projects and coding adventures
|
||||
|
||||
markdown: redcarpet
|
||||
excerpt_separator: <!--more-->
|
||||
excerpt_separator: <!--more-->
|
||||
exclude: ["*.org"]
|
||||
|
||||
defaults:
|
||||
-
|
||||
scope:
|
||||
path: ""
|
||||
values:
|
||||
layout: "post"
|
||||
|
|
98
_drafts/getting-organized-with-org-mode.org
Normal file
98
_drafts/getting-organized-with-org-mode.org
Normal file
|
@ -0,0 +1,98 @@
|
|||
#+TITLE: Getting Organized with Org Mode
|
||||
#+AUTHOR: Correl Roush
|
||||
#+STARTUP: indent
|
||||
#+OPTIONS: toc:nil num:nil
|
||||
|
||||
* Project Management
|
||||
I've been using Emacs Org mode for nearly a year now, mostly as a
|
||||
tool for breaking down large projects at work into tasks and
|
||||
subtasks, and found it to be extremely enter projects in as a
|
||||
hierarchy of tasks and task groupings. Using columnview, I was able
|
||||
to dive right into scoping them individually and reporting total
|
||||
estimates for each major segment of work. Because Emacs and Org
|
||||
Mode make building and modifying an outline structure like this so
|
||||
quick and easy, I'd build and modify the project org document as I
|
||||
planned it out with my team. Once done, I'd then manually load that
|
||||
information into our issue tracker and get underway.
|
||||
* Organizing Notes and Code Exercises
|
||||
More recently, I've been looking into various ways to get more
|
||||
things organized with Org mode. I've been stepping through
|
||||
[[http://sarabander.github.io/sicp/][Structure and Interpretation of Computer Programs]] with some other
|
||||
folks from work, and discovered that Org mode was an ideal fit for
|
||||
keeping my notes and exercise work together. The latter is neatly
|
||||
managed by [[http://orgmode.org/worg/org-contrib/babel/intro.html][Babel]], which let me embed and edit source examples and
|
||||
my excercise solutions right in the org document itself, and even
|
||||
export them to one or more scheme files to load into my
|
||||
interpreter.
|
||||
* Exporting and Publishing Documents
|
||||
Publishing my notes with org is also a breeze. I've published
|
||||
project plans and proposals to PDF to share with colleagues, and
|
||||
exported my SICP notes to html and dropped them into a site built
|
||||
with [[http://jekyllrb.com/][Jekyll]]. Embedding graphs and diagrams into exported documents
|
||||
using [[http://www.graphviz.org/][Graphviz]], [[http://www.mcternan.me.uk/mscgen/][Mscgen]], and [[http://plantuml.sourceforge.net/][PlantUML]] has also really helped with
|
||||
putting together some great project plans and documentation.
|
||||
* Emacs Configuration
|
||||
While learning all the cool things I could do with Org mode and
|
||||
Babel, it was only natural I'd end up using it to reorganize my
|
||||
Emacs configuration. Up until that point, I'd been managing my
|
||||
configuration in a single init.el file, plus a directory full of
|
||||
mode or purpose-specific elisp files that I'd loop through and
|
||||
load. Inspired primarily by the blog post, [[http://zeekat.nl/articles/making-emacs-work-for-me.html]["Making Emacs Work For
|
||||
Me"]], and later by others such as [[http://pages.sachachua.com/.emacs.d/Sacha.html][Sacha Chua's Emacs configuration]],
|
||||
I got all my configs neatly organized into a single org file that
|
||||
gets loaded on startup. I've found it makes it far easier to keep
|
||||
track of what I've got configured, and gives me a reason to
|
||||
document and organize things neatly now that it's living a double
|
||||
life as a [[https://github.com/correl/dotfiles/blob/master/.emacs.d/emacs.org][published document]] on GitHub.
|
||||
* Tracking Habits
|
||||
Another great feature of Org mode that I've been taking advantage
|
||||
of a lot more lately is the [[http://orgmode.org/manual/Agenda-Views.html][Agenda]]. By defining some org files as
|
||||
being agenda files, Org mode can examine these files for TODO
|
||||
entries, scheduled tasks, deadlines and more to build out useful
|
||||
agenda views to get a quick handle on what needs to be done and
|
||||
when. While at first I started by simply syncing down my google
|
||||
calendars as org-files (using [[http://orgmode.org/worg/code/awk/ical2org.awk][icadl2org.awk]]), I've started
|
||||
managing TODO lists in a dedicated org file. By adding tasks to
|
||||
this file, scheduling them, and setting deadlines, I've been doing
|
||||
a much better job of keeping track of things I need to get done
|
||||
and (even more importantly) /when/ I need to get them done.
|
||||
|
||||
This works not only for one-shot tasks, but also [[http://orgmode.org/manual/Tracking-your-habits.html][habits and other
|
||||
repetitive tasks]]. It's possible to schedule a task that should be
|
||||
done every day, every few days, or maybe every first sunday of a
|
||||
month. For example, I've set up repeating tasks to write a blog
|
||||
post at least once a month, practice guitar every two to three
|
||||
days, and to do the dishes every one or two days. The agenda view
|
||||
can even show a small, colorized graph next to each repeating task
|
||||
that paints a picture of how well (or not!) I've been getting
|
||||
those tasks done on time.
|
||||
* Keeping a Journal and Tracking Work
|
||||
The last thing I've been using (which I'm still getting a handle
|
||||
on) is using [[http://orgmode.org/manual/Capture.html][Capture]] to take and store notes, keep a journal, and
|
||||
even [[http://orgmode.org/manual/Clocking-work-time.html][track time on tasks at work]].
|
||||
|
||||
For my journal, I've configured a capture template that I can use
|
||||
to write down a new entry that will be stored with a time stamp
|
||||
appended into its own org file, organized under headlines by year,
|
||||
month and date.
|
||||
|
||||
For work tasks, I have another capture template configured that
|
||||
will log and tag a task into another org file, also organized by
|
||||
date, which will automatically start tracking time for that
|
||||
task. Once done, I can simply clock out and check the time I've
|
||||
spent, and can easily find it later to clock in again, add notes,
|
||||
or update its status. This helps me keep track of what I've gotten
|
||||
done during the day, keep notes on what I was doing at any point
|
||||
in time, and get a better idea of how long it takes me to do
|
||||
different types of tasks.
|
||||
* Conclusion
|
||||
There's a lot that can be done with Org mode, and I've only just
|
||||
scratched the surface. The simple outline format provided by Org
|
||||
mode lends itself to doing all sorts of things, be it organizing
|
||||
notes, keeping a private or work journal, or writing a book or
|
||||
technical document. There's tons of functionality that can be
|
||||
built on top of it, yet the underlying format itself remains
|
||||
simple and easy to work with. I've never been great at keeping
|
||||
myself organized, but Org mode is such a delight to use that I
|
||||
can't help trying anyway. If it can work for me, maybe it can work
|
||||
for you, too :)
|
Loading…
Reference in a new issue