How-to guides

  • How to multitask. Spoiler: don’t. Every piece of hard research out there shows that people who multitask all the time and think they’re good at it perform more poorly on each task than people who don’t try to multitask. Constant distraction rewires the brain to be less able to concentrate.

UWL student resources

Books about writing

Buying hardware

  • The last several laptops I’ve gotten have been from the linux-installed systems vendor System 76. On balance I’ve been more happy with them than any other purveyor of machines I’ve dealt with in the past.
  • I get all the various other parts from Newegg.

Academics and study

  • Writing a reflective memo after reading a paper or chapter.
  • How to use email, for faculty. “How do I write tactful emails as a faculty member? Where can I learn how to do that?”
  • A good little girl. “I was stressing out about it, and a very senior collaborator (older than my father) was mocking me for wanting to make the deadline ‘like a good little girl.'”
  • Don’t be that asshole. About interviewing: “Turns out, it’s kind of hard for new Ph.D.s to illustrate that they are not assholes.”

My code

  1. I wrote a simple Perl script to generate HTML pages for browsing a collection of BibTeX files, and related PDFs etc. It lives on GitHub.
  2. I’m the primary author of the NST unit test framework for Common Lisp. Unlike most of the other projects in the section, this one is live!
    • There’s a paper about NST from the 2010 International Lisp Conference.
    • The slides from the associated talk are more focused than the paper, concentrating on the choice of abstractions which a Lisp unit test framework should provide.
  3. My preference-for-the-moment when documenting Common Lisp code is that Docstrings should be in Org-Mode markup. Org-mode is the highly readable, highly developed outline mode of Emacs. I’ve written a tool for extracting these docstrings into individual Org-mode files. With this tool it’s easy to write manuals and other documentation in Org-Mode, and have them more easily pick up changes to APIs: it’s easier to remember to update docstrings than to remember to update separate documentation.

    On the subject of Lisp code documentation, I once also wrote a system defdoc that provides support for more structured Lisp documentation – essentially, a replacement for docstrings which generates output in various formats. Currently LaTeX and text outputs are supported (the latter of which automatically generates the traditional docstring).

    I don’t like defdoc – it’s just too much; I don’t find it easy or satisfying to use. Your milage may vary.

    Although defdoc is no longer shipped with NST (for which I wrote it), you can still find it in the old version tags of the NST repos. One of these days I might put it somewhere more convenient, but it’s not as if anyone’s asked, or should really. It’s not very well documented, but there are slides from a ILC2010 lightning talk about it.

  4. For my thesis I wrote a LaTeX package which accumulates the page numbers on which each bibliographic entry is cited, and provides an interface command which allows the page list for each label to be included in the document. N.B.: there is no interface yet for BibTeX; the code is a TeX/LaTeX package only.
  5. Some time ago I wrote a number of Elisp packages. Warning: this is probably all very bit-rotted.
    • Package extraregional.el separates the notions of point, mark and region from the notion of selection. The idea is that, usually in a different window, you should be able to select text without affecting the selected window, the current buffer or the values of point at the various windows and buffers. Version 0.2 is a rather smaller package than version 0.1.1: I found that the extras were not really all that useful, and were actually pretty fragile. The older version is still available, although it does not work under Xemacs version 19.3.
    • Package rmail-labelsorter.el makes labels a little bit easier to handle in Rmail. The code is usable as it is, but is not documented – this situation probably won’t change, as I no longer use rmail. Caveat emptor.