Archive for the ‘Geek’ Category

Grokking Org-mode and putting it in charge

Some time ago I was looking for a decent outlining tool to take academic notes electronically, and then I got myself into Org-mode and consequently Emacs and away I went and I’ve chatted about this stuff before, but it’s only pretty recently that I’ve actually settled on a fairly complex Org-mode setup that suits my way of working. When I started out I adopted bits and pieces from all over, mainly from the excellent norang.ca doc (look at your scrollbar), but I didn’t know enough about the software and what parts are more significant than others, and I didn’t know my own working habits well enough. But I’ve got a better picture of those now and recently I started having ideas of how I could make things better. So I sat down and reworked everything and I have grown Org-mode up to my needs (crucially: not any higher).

There is a lot of stuff around online about productivity; there was a recent xkcd about the typical cynical view of all this. While I have read some of this stuff, and can see that people with less traditional working schedules than a student’s may find things like GTD allow them to make better use of their time, but in general I tend to be rather cynical (wow! what a surprise!) about it all myself because it’s wonderfully easy to read about this stuff and feel better about yourself rather than actually do whatever it is you need to do. And it’s vital to recognise that these things might have a small motivational effect (setting yourself up properly to do something means you’re more likely to do it) but they’re not going to help motivate you in general. But as I intend to write properly about soonish, I do not have issues with motivation in a big way. My current issues are more focused than that and while a lack of success does feed back into my motivation to keep going and my tendency to procrastinate, it’s secondary to the issue itself.

So why do I spend a great deal of time setting up my organisational systems? My perfectionism is a factor, and as I have said there is some small motivational boost from having a list of things to tick off, as we are all familiar with. The two main reasons for me are because I don’t trust my memory, and because I want control, and this is rather directed and specific. The first reason is self-explanatory. Org-mode allows me to tie everything together electronically and does what I can’t trust my memory to do. I am slowly getting better at taking the decision not to trust my head and to leave it free to try and figure out how to study Philosophy again, and instead let the computer keep track of pretty much everything. While it might be more romantic to have nice notebooks or the ruled refill pad that screams conscientious-and-unpretentious (you should hear the conversations I have with myself on these things), it isn’t actually as good as storing things in a system one has built oneself that one understands, a system of plain text backed up and synced between computers (not “devices”, computers). I don’t need to remember what I’m supposed to be doing because Org-mode can tell me, and I don’t need to remember what’s going on because I read my e-mails/wrote things down and pumped them back into Org-mode — anywhere in my Org files, and they get brought together and organised automatically — and it tells me what I need to know. I over-exaggerate here. I still know what I’m doing and can tell you what’s important to me this week, and whether I’m on track, and I can give you an idea of what that e-mail said about that upcoming event. But I fall back to something that is complete and tailored to suit me and my life like a glove.

My second reason is about control, and it’s about control of my own time and life in the face of the distractions that hit at us from all sides in this world of the consumption of gratifying activities to fill the hours between sleeping. I am fortunate that I am already removed from cheap social gratification, choosing quality communication with friends over constant electronic connection via phones and social networking websites, so I avoid a certain amount of banal chatter, egoism, ranking of one’s life against others etc. Not being materialist I’m not surrounded with toys of various descriptions. But the Internet beckons, oh how it beckons. There are many fascinating websites out there and one can get a great deal out of browsing around the place, but the issue for me is more specific than just spending time reading because, unless one has something else to do, that’s fine. It’s very rare that I allow my browser to distract me from working on something in this way. Instead, I find myself possessed with a need to know or to make use of pieces of knowledge on specific areas of interest for me. Perhaps this will be best illustrated by examples relating to the present: Emacs, Org-mode and Gnus feature prominently. Page with some keybindings from Emacs, not all of which I know? Must spend time absorbing them. Page with a Gnus feature that I’m not aware of (happened today with tree mode)? Must evaluate and assimilate feature into workflow. Article on typography about how one should typeset footnotes? Must see if my LaTeX templates need updating right now. Article on a philosophical topic that I have a strong opinion on? Better read it now. And so on.

All of these things are valuable. I’m pursuing the things that interest me and learning more about how others see the same subjects and that’s great, but the issue is that when one goes off down the rabbit hole for a while one hands over control of what one things is important to one’s surroundings and less conscious inclinations. There is already too much in my life, and I can’t do everything. My Org-mode setup helps me with this in two ways. Firstly, it tells me what I’ve already decided is important to do today, and it tells me the projects I currently have in progress, and it reminds me that unless I want to make a decision to change my mind, this is what I’ve committed to and this is what the real Sean wants, not the temperamental Sean possessed by the excitement of the ability to join two lines and remove the indentation or whatever. Secondly, Org-mode keeps track of interesting things for me and allows me to bring them up. Not sure if I should be reading this but don’t feel comfortable just throwing it aside, and need to get it out of the way in order to focus in on the day’s tasks? No problem, hit a few keys and store it away in my Org files, tagged so that it can be brought up in a list with a few keystrokes.

The response to this, if you don’t like it, is to talk about how a certain flexibility and spontaneity is lost when one rigs oneself up to a schedule when one doesn’t strictly need to. Productivity in the sense of ticking things off on a list of tasks that are considered good doesn’t have to come first, and if you’re at a time in your life when you can be a little more free and perhaps achieve less then you should take advantage of this and float a little more. I don’t think any flexibility goes anywhere though, it’s merely made more thoughtful. If I decide that something else is genuinely more important, running things via my Org-based system forces me to evaluate my own inclinations of the moment critically against the other things I’ve said I’ll do. I can still decide to change things up in any way I like and Org is flexible enough to make this very easy to do. But I’m back in control, which is good; saying otherwise is probably just over-romanticising life in the modern world. And secondly, I am made very unhappy if I feel I am unproductive. With Org-mode I can see my productivity, am happier and thus more productive and indeed everything else goes better.

My goal right now is to take things to the extreme by rigging myself to Org-mode in all my dealings. For the next 30 days I’m forcing myself to make it almost an obsession, so that I can reap the full benefits. Then to regain some flexibility I will be able to slack off, but hopefully I’ve have figured out what level to go to in order to gain the above-described benefits.

I’ll end with a brief description of my system, since I keep referring to it and as I say I’ve put a good deal of time and effort and thought into it lately to grow it up to my needs and ways of working and the kind of things I do. I have a number of core Org files relating to various aspects of my life; the main ones are Academic.org for degree work and related, Oxford.org for all the other stuff I do during term time (so not got much going on at the moment), the almighty TechNotes.org which contains so many notes, links and plans for computer geek stuff and then my catch-all miscellaneous Sean.org which has errands, political notes, ideas for TV shows, films, music and books to look into and the like. Deep in my directory hierarchy there are things like ~/doc/work/philos/history/Hume.org which has all my notes and tasks on Hume. It’s hard to get the balance right between how much one needs to organise and separate one’s files (an interesting blog post on this is to be found here; this is amusing by the same author), but things are made easier because Org-mode is at its heart a piece of outlining software, and outlining models how you think, so a certain amount of organisation just happens automatically as long as you remember to use the keybinding that inserts headings as well as the keys that type text.

But the bigger reason why this doesn’t matter that much is the other component of the system which is Org’s agenda view. This thing is amazing, pulling together tasks from across your Org files, arranging them according to useful metrics such as tags, scheduled dates and deadlines, adding warnings for upcoming deadlines and the like, and then pulling in appointments from either Org-mode itself or an external calendar program, birthdays and wedding anniversaries from your address book and finally it even adds results from Google Weather if you have the right elisp. The key thing I’ve done recently, perhaps, has been realising the significance of the agenda and how building one’s system and customisations around that view rather than around the Org files themselves, which organise themselves as much as is necessary, is the key to success.

The word “agenda” doesn’t do this tool justice. I have four blocks to mine, and you can view something that looks a bit like it here. At the top I have a list of the tasks I’ve marked as in progress. This has two kinds of things in it: tasks that I am actually working on right now/today, and also so-called “stuck projects”, which come out in a different colour (not so on the above-linked export, unfortunately). Below that I have a list of tasks that are waiting on responses from other people. It’s important to look at these each day to see if people need reminding or can be relied upon to just get it done, and it wouldn’t be so good to have these show up as ordinary TODOs. Below that I have my appointments/calendar events, weather, scheduled tasks, daily “habits” or things I wish to accomplish regularly and repetitively, accompanied by coloured progress charts, and then at the very bottom I have a list of all undated TODO items.

Hidden from view are items marked as SOMEDAY. This is a task that doesn’t actually need to be done, unlike a TODO, but that it would be nice to be done — this is Org keeping track of interesting things for me. I bring these up in different categories with other agenda keybindings. And last of all there is my buffer of tasks to refile. These are links and notes I have shoved into Org-mode quickly and unceremoniously and without organisation, and once per day I move them into the appropriate .org files.

Mixed organisational success

Splitting this off from the previous post as it’s of a different tone — a much more optimistic one. As I think I mentioned in a previous post I’ve had a tick chart of things to do each day going for most of this term though it came to an end yesterday and I could do with making a new one. My total score is 48% (calculated from 179 of 375 boxes don’t have crosses in them) of things achieved which isn’t that bad really. Most of the ones that aren’t just “do some work around this time of the day” are related to Gnus and Org-mode, and how I keep things organised: something positive and beneficial to work on alongside the very painful process the chart is really for. There are a few problems with my setup right now: I set unrealistic scheduled dates for tasks and I leave maintenance like refiling unsorted captured tasks for a few days at a time which makes things more difficult. Otherwise, though, I’m getting a huge payoff right now for all my efforts to improve my setup. I’ve hinted before in various places at a feeling I’ve been getting that all the time that over the past two years I have poured into perfecting my setup is coming to a head and that I’m approaching computing nirvana where the keyboard and I flick about a text-based world, carrying text around and drawing out the information I might need at any one point. And this feeling, early on in my adventures with Emacs, was not unjustified: as just mentioned, even with a setup I’m not quite using to its full potential I’m already seeing huge payoffs in what the computer can do to improve my life.

The key thing that I’m benefitting from right now is how Emacs allows me to integrate all these things together, so let’s see if I can give a brief description of that. At three set points in the day (after getting up, mid-afternoon and before bed) I empty my inbox. I read things that need to be read and I reply to people’s questions. I add things to my diary. And then for things that I can’t do right then I hit a key combination and add an entry to my various task lists within org-mode, with a hyperlink (of sorts; it’s plain text) back to the e-mail in question. I can then add a deadline so it’ll come up in my agenda view (which pulls in timetabled events from my diary), and that’s it, thanks to Gnus handling e-mail like usenet the e-mail will disappear until I use the hyperlink to get back to it. E-mail is literally an inbox not a todo list like it becomes for most of us which tends to be a pretty unhealthy policy, because you can’t attach dates to things and have them come up ready for the day. So this is how information gets in to the system; how do I get it out again? At the end of each day I refile all my captured tasks from e-mail into sensible places and check the dates on them (e.g. academic work gets transferred under my Maths and Philosophy headings and I make sure that the deadlines are what the work deadlines actually are). Then each morning I sit down with my notebook and agenda and copy down the tasks scheduled for the day and timetabled lectures and classes etc.. This process fixes most of the information I need for the day in my head but I’ve got the notebook if not (which is another place to scribble things in, ofc, which I clear out each day when I clear out my captured tasks from e-mail and the like). If I need some information for a task it’s probably hyperlinked in so I can just pop it all up (I can also hyperlink text files, Office documents, PDFs, web sites and pretty much anything else) and get going, without really having to think very much.

The benefits to all this are obvious. In theory I can’t lose any important information, which is important with a poor memory like mine and useful even if one’s memory is good. With ritualised slots of time for organisation I don’t end up with backlogs and I can knock through this stuff as quickly as organisational stuff can be knocked through. Because I force myself to empty my inbox, and also don’t want a cluttered task list, I end up just reading things there and then rather than letting them build up, keeping me abreast of what’s going on that I should know about; a useful psychological trigger. By writing things into my notebook I’m helping to keep myself on top of things without the need to carry any electronics around with me. And of course everything we’re talking about here is plain text so it’s all synced up almost intervention-free using my pre-existing setup for home directory versioning and syncing.

What’s next? As noted I’m not using the system perfectly and there are changes to be made but I’m getting better every day and often times it’s my frustration with my academic work that stops me from feeling like doing anything at all. Being more successful with Org-mode and Gnus makes me a little more successful at my work and vice-versa. Further, I don’t ever really put myself in a situation where I can’t do work because I’m not organised enough, because now it’s setup this stuff takes so little time. And giving myself as many chances as possible to work is important at the moment, since then hopefully I’ll fulfill at least a few of them. I should note how this extends to the rest of my room here in Oxford: I try to keep it pretty perfectly tidy too, as an oasis of calm to come back to. I’ve got myself an in tray (think I may have mentioned that before, either here or on my tumblelog) and that I treat like my stack of tasks to refile at the end of the day, though I don’t really get round to doing it every day. There’s no paper lying on my desk because it’s all either filed or waiting to be filed, and having a clear desk stops one from losing stuff and obviously makes the desk easier to use.

Technologically, I have a few things to check out but they’re not priorities. My workflow for interesting stuff that I’ve described recently is not yet really coming together so perhaps I need to rethink that. I am also considering dropping my beloved dwm in favour of StumpWM, for two main reasons. StumpWM uses Emacs paradigms, which is what I’m now used to, whereas dwm is by default more like vim. It would be more comfortable not to have to switch to a different way of thinking about windows and splits when I switch outside of Emacs, I reckon. Since it’s in LISP, which I intend to learn at some point to make Emacs perfect, it would also be good to be able to extend this to my window manager. Oh and finally it will allow me to get over my everything-in-Emacs obsession because being under stump feels sufficiently close… there are some things that I don’t really need to integrate but seem to want to, such as music playing.

So yeah: Emacs, Gnus, Org, Conkeror, StumpWM — closing fast on computing, organisation and — dare I say it — productivity nirvana.

140 characters isn’t really enough

When I first used Twitter, and when the main use of Twitter was the now-marginalised “keep up with what your friends are doing” rather than “just type whatever springs to mind” combined with “big up consumerism in a whole manner of ways not limited to communicating with your favourite celebrities in a banal and barely literate fashion”, I was a big supporter of the simplistic and limited functionality of Twitter, and I was a big fan of the 140 character limit to messages as something valuable for more than just its compatability with Twitter’s connection to SMS (something I was also a strong supporter of, despite owning an iPhone at the time). To avoid me using lots of past tense, let’s stick to the community of people I follow on Twitter, that is, people I know IRL who tweet about things they’re up to and thinking about; in this case, then, the 140 character limit forces you into a position where updating Twitter takes seconds, and reading it is also swift, so it can fit around those activities that you’re tweeting about rather than becoming an activity in itself which takes up time and thus becomes impractical to update with much frequency. 140 characters makes Twitter take up less time, so you use it all the time, and its function as a way of keeping up with activities and thoughts is best served.

At least, this is what I used to think, in one form or another. I’ve been thinking lately that the 140 character limit isn’t enough to be able to express interesting things, and expressing non-interesting things is just being unhelpful to your friends by using up their limited brainpower on things that aren’t, well, interesting, and I think that a good starting point for friendships, excluding times of emotional distress, might be to share interesting things rather than non-interesting things. But writing this is opening a questions about the words I’m using like bamboo shoots in my head and so I’m going to back away slowly from this particular point and leave it as assumed.

What I really want to talk about is whether or not Twitter is actually much good at expressing interesting things, and over the past few weeks I’ve been coming over to the opinion that it isn’t. I’ve got an example from this afternoon that got me writing this post. After five and a half hours of clearing my RSS reader’s backlog, and then transferring the feeds semi-manually (learning how to use Emacs regexps being the automation) into a new reader, I was headachey and feeling a bit burnt out so I went to my window and threw open both sides of it. My window here in Oxford is a small rectangular cushioned seat, set into the corner of the room, with three glass sides and one open to the room, and the two shorter sides (neither of which face the room – I’m hoping I’ve given sufficient information here to allow you to imagine the scene) can be opened. Breaking my usual habit of only opening the left window, as I say, I opened both and given the rain and wind this got everything blowing about and was a good way to refresh myself a little. But then I had this strange compulsion (reminds me, tangentially, of this) to go tweet about the fact that I felt really good to have the cool air wash over me after many hours of tedium and distress (because I was having to skip over lots of interesting-looking stuff). And then I thought, how can 140 possibly get that in? Someone reading that miles away as just another tweet in his or her stream is not going to get much of an idea of the scene, and unless it was a bit of an in-joke among my social circles that Sean likes to stand in the rain (and I’m pretty sure it’s not atm), it’s not really going to have any impact on them; there’s no way that I’m going to be able to transfer my experience to them via the 140 characters and thus I’m not only wasting my time by trying, but also I’m missing an opportunity to try to a better job of transferring that experience, if it’s worth transferring.

This last point is the key issue, because we all know that social networking is, so much of the time, all about time-wasting ;) I don’t think that there was anything epiphanic about my experience at the window this afternoon, but suppose now that there was and I really did want to share it. By tweeting it, and not instead sitting down to write about it on something such as this blog or in a more limited form over on my tumblelog, I feel like I’m putting to bed any responsibility I might have had to myself or others to share it properly: Twitter is almost an excuse to be lazy about something that could actually be turned into a valuable expression of ourselves and our lives and the fact that we might want to share these with others in order to enrich our own lives and those of our friends. If we drop down to another level of cynicism and (anti)-buzzwords, it’s more consumerism, quick fixes and instant gratification that, ultimately, isn’t as good as doing things properly and taking our time.

In this post and in a recent one about my volte-face wrt the editor wars, I’m actually writing from a position of experience and knowledge. I’ve experienced the Vim way of doing things throughly and knew enough about Emacs to make an informed decision; in this case, I know enough about Twitter and about blogging to have come to the view that what I want to get out of being social on the Internet is better served by cutting most of the stuff from the former, pulling out the valuable and under-expressed things and then expanding them out into the latter. So I’m going to try to defeat the compulsion mentioned earlier to post things on Twitter in order to get them out of my head and use that as the way I stop worrying about them. If it’s interesting I’ll try to find the time to write about it, or if I haven’t got that time or inclination yet it really is something worth sharing, I’ll tumblelog it, and if not and yet I really want to type it out somewhere, I can always just slap it into my diary/journal, a huge text file which I add reams to each week. Because actually most things in my life are boring, and those things that aren’t boring are far more complicated than the English language will let me (attempt to) express in 140 characters.

Just a quick note about my Twitter account – I’m not going to get rid of it for two reasons. Firstly, purely as a protocol for chat it’s often very useful for certain individuals who don’t know how to use e-mail or instant messenging, so it’s useful to have around. Further, for a lot of friends, inter-personal communication has been replaced in this day and age by broadcasting snippets. They’re not going to write to me or ring me up or have a conversation over IRC or IM or something, so if I want to see the interesting stuff they’re doing I’m going to need Twitter to have some sort of glimpse. I really, really do not blame anyone for the Facebook broadcast culture being how they go about their social lives because it’s had me too at various points and of course there are arguments in its favour, and I’m not just going to isolate myself from people just because this is how they express themselves – but I’m trying to move away from it myself, to see what results.

While I’m here I should write about something else that’s been brewing for a little while. For most of my first year of university I was avoiding updating this blog about my first year/terms at university and so I ended up posting writings to my tumblelog instead. Ambiguity over the purpose of these two WordPress installations has been growing and I would like to make the distinction clearer. One should be able to decide what sort of Sean-stuff one wants and pick the appropriate blog, and finally in the past fortnight or so I’ve come to a conclusion on what I want each of them to be, supported and extended by the considerations advanced in this post. I’ve got a number of technical changes, which will involve moving some posts tumblelog -> blog, in the pipeline, but these will be time-consuming and they’re not happening any time soon. In the meantime, I want to establish as habits the following changes to where I put stuff, as these are more important than any restructuring and it would be nice to have things being used properly from day one when I eventually find the time to make those changes. An additional factor motivating all this is that del.icio.us is going, and I need a replacement (why did I trust my data to the cloud? why? grr).

The essential distinction between the two blogs can be described crudely as one of length, but I say that only because length is in the case of my writing a direct consequence of making a decision to meta-write, that is, to think about what I’m writing with the suggestion that it might be read, rather than just hammering keys. That doesn’t mean that this blog has to be perfect, but it is supposed to be my extended writing: selecting a title and then trying to lay out some thoughts and/or information in order to convey myself to someone else. But while posting on this blog will have a very narrow remit, I’ve got a lot of things that I want to put on my tumblelog. I’ve got the “expanded tweets” that I discussed above (This remind me of an issue that I haven’t looked at: the instantaneous nature of Twitter, and what value this might have, or otherwise – I’m not sure what I think on this atm so I’ll blog about it some other time.), and I’ve still got interesting little things found throughout the day – videos and pictures, and links of particular note that stand out from the usual stuff that I might slap into del.icio.us. Then I want to have two types of posts that group together links, in bullet-point form, that I’ve found interesting: one called something like “Today’s Bookmarks” which is things that I would otherwise post to del.icio.us, and another called “Today’s Articles” which is stuff that’s come to me through RSS that I found interesting. I dunno though; it might turn out to be better to combine these two into one daily set of links; I’ll think about this.

I’ll probably start this tomorrow, depending on how much time I get to read web stuff, for I have a busy day planned. In writing the latter half of this post I’m really seeing the value of my extensive notes on anything and everything that’s come to mind. I planned most of this on the 8th, and wrote a huge list of bullet points, and being able to dig it out to make sure I don’t miss stuff is useful because I was basically having the same thoughts as I had today without realising it, and it’s good to be more aware of how your thoughts flow.

Quick update on second New Years’ Resolution two of two

So Jonathan has pulled out (for the timebeing) and the Emacs-for-editing 30 day challenge is on, starting from tomorrow morning. Chances are I’ll love it so much I’ll forget the challenge, which was more for the comraderie, but hopefully I’ll remember to report back in a months time.

I’ve a number of cheatsheets printed out. Haven’t got round to signing up to alt.religion.emacs quite yet though.