Everyone likes getting distracted. My distraction is being a geek and fiddling around with code in order to automate my workflows. Ostensibly this is to make me more productive. However, I am probable kidding myself. These posts are a collection of my hacks for the Mac and iOS that assist me in my academic life.

Bookends, Pandoc and institutional authors

I write in Markdown and use Pandoc to output Word/PDF documents. A Pandoc filter, called pandoc-citeproc, can scan the Markdown file and replace the reference placeholders with the correct citation based on a BibTex file. Bookends can export BibTex files and this is what I have been doing. However, one of the issues that has prevented me from completely going over to pandoc-citeproc has been that institutional authors are abbreviated in the output. For example Ministry of Health would look like Ministry, OH in the Pandoc processed document. I have struggled with a way to avoid manually correcting the BibTex file (can be done by enclosing institutional authors with curly brackets) and have stumbled upon the following hack in Bookends (which I use to export the BibTex file). The hack is to enter the institutional author in a user field (I have used user8) and then to create a custom format that is based on BibTex.fmt. (I have unimaginatively called mine BibTex modified.fmt). Within the format manager make the following changes to the author field in all reference types:

Read More

Linking Instapaper and DevonThink

For some time I have been using Pocket to collect research articles from various services, such as Twitter, RSS feeds from journals and news articles. While this worked well I started experiencing a number of issues with Pocket and decided to change my workflow to Instapaper. What I like about Instapaper is the ability to determine which folder to save articles to e.g. a folder on PhD related topics or a folder of primary care articles. This segregates my news feeds so I don’t have a jumble of articles in the Home tab i.e. my articles on conscientisation theory are not mixed in with my news articles about the Kardashians (as if!).

Read More

Sending base 64 encoded emails to DevonThink

DevonThink-to-go has the ability to create a new document through Base64 encoding. While this is useful for images I thought that it would also be useful for archiving properly formatted emails from Airmail. While I have previously documented how to archive an HTML formatted email into DTTG there are couple of faults with this. The first is that the email that is created appears as an HTML file in DTTG (rather than an email) and secondly the link that is created is not accessed through a URL in the information button in DTTG. In order to get DTTG to recognise that a file is in fact an email there needs to be a UTI associated with the file. For emails the UTI is com.apple.mail.email. Another requirement is header information i.e.

Read More

Airmail iOS to DevonThink

I am not stuck in front of my computer all day. In fact half the time I take my iPad with me and try and try and do as much as I can in iOS. I have struggled until recently to find a way in which to file emails into DevonThink-to-go (DTTG). However, in the latest release of DTTG to 2.1.3 the URL scheme has received a massive up-date including the ability to generate HTML documents and PDF documents (the later through Base 64 encoding). By creating a custom action in Airmail it is now possible to send an HTML formatted email through to DTTG. One issue though is that in my archived emails in DevonThink I like to have a link back to the original email and the senders details. The following URL scheme, triggered as a custom action in AirMail, will do just that.

Read More

Setting the metadata of a PDF in Bookends

Metadata of PDFs can be handy to have. For example in DevonThink the metadata of a PDF can be displayed in column view and give you more information than can be gleaned from the title alone. An example of how I store my PDFs in DevonThink in column view is:

Read More

Using PopClip as a research scratchpad

When I am reading through journal articles I often come across other articles and references that look like they would be good to read as well. Invariably this leads down a bit of a rabbit warren of searching for papers and inevitably losing the initial thread of my thoughts with the original article. In these cases having a scratch pad handy in which I can jot down the references to look up at a later date is useful.

Read More

Sending AirMail email to DevonThink

I spend a lot of my day managing email and so selecting a good email programme is therefore very important. Over the years I have mostly used Apple Mail but more recently I have been drawn to the power of AirMail by Bloop Software. AirMail ticks most of the buttons of what I want in an email programme, such as reminders, deferring email, markdown composing and integration with a range of other programmes. But one thing that I really wanted to be able to do was to integrate Airmail with DevonThink. My preferred workflow is to triage my email, decide on the course of action required, i.e. reply immediately, defer until later, trash or place in my task list for action. Part of the workflow also involves placing a copy of the email and any associated attachments in my project management structure managed by DevonThink. My project structure, which is created from a DevonThink template, typically looks like this:

Read More

Dealing with actions from meetings

Taking meeting minutes is a common task in academia. A critical component of good meeting minutes is recording the actions or tasks that arise out of the meeting. While recording actions is important it becomes a waste of time if those actions are not transferred into a task management system. My current task manager of choice is 2Do, which has a great URL scheme for iOS automation. By leveraging the power of Drafts, Workflow and 2Do I can convert my meeting minutes into tasks in 2Do. I achieve this by annotating actions that are required as follows:

Read More

Combining Drafts and Working Copy

Both Drafts and Working Copy form the core of my workflow in publishing posts to my Github hosted website. One of the requirements of a Jekyll hosted Github blog is that posts must be named in a particular way i.e. yyyy-mm-dd-title-of-post.md. In order to automate the naming of posts from Drafts I wrote the following Javascript to run as an action in Drafts:

Read More