Publishing My Notes Using Org Mode

Nov 28, 2015   #Org Mode  | 510 words

I write things down as they occur to me and I sometimes want to share them because that’s what we do now. For the past couple of years I’ve maintained a static site containing these notes at I used Dave Winer’s excellent outliner Fargo as both the authoring and publishing tool. Fargo works great, but I changed it all yesterday to use Org Mode instead.

Org Mode has become my default editor and document publisher. It’s my planner and sometimes journal. Why not my website publisher as well? This occurred to me as I was writing some notes about Emacs using Vimwiki (hah!) and realized that I should probably convert my vimwiki notes to Org Mode. Easy enough…

find . -name \*.md -type f -exec pandoc -f markdown -t org -o {}.org {} \;

I then edited each file and added some consistent configuration options like so…

#+TITLE: Notes
#+SETUPFILE: ~/.emacs.d/org-templates/

The file looks like this…

#+OPTIONS: ':nil *:t -:t ::t <:t \n:nil ^:t arch:headline author:t c:nil
#+OPTIONS: creator:nil d:(not "LOGBOOK") date:t e:t email:t f:t inline:t
#+OPTIONS: num:nil p:nil pri:nil prop:nil stat:t tags:t tasks:nil tex:t timestamp:t
#+OPTIONS: H:2 toc:nil todo:nil |:t >:nil ^:nil
#+SELECT_TAGS: export
#+EXCLUDE_TAGS: noexport
#+HTML_HEAD: <link rel='stylesheet' href='css/styles.css' />

This sets up a few export options and embeds a stylesheet reference. I also have copies of this file with the relative links changed for additional levels (e.g. etc.) I should probably just change to absolute links everywhere since I don’t use the output anywhere other than via a web server.

For anyone interested, the relevant configuration in Emacs looks like this…

;; HTML and Publishing

  (setq org-html-validation-link nil)
  (setf org-export-html-coding-system 'utf-8-unix)

    (setf org-html-postamble t)
    (setf org-html-postamble-format
	 "<p>Author: Jack Baty <a href='mailto:%e' rel='author'>%e</a>.<br>\n"
	 "Last update : %C"

(setq org-publish-project-alist
        ("notes" :components ("notes-org" "notes-static"))

         :base-directory "~/Sites/notes/content/"
         :base-extension "org"
         :publishing-directory "~/Sites/notes/public_html/"
         :recursive t
         :publishing-function org-html-publish-to-html
         :html-html5-fancy t
         :auto-sitemap t
         :exclude ""
         :sitemap-title ""
         :html-head-include-default-style nil
         :html-head-include-scripts nil

		 :base-directory "~/Sites/notes/content/"
		 :base-extension "css\\|js\\|png\\|jpg\\|gif\\|pdf\\|mp3\\|ogg\\|swf"
		 :publishing-directory "~/Sites/notes/public_html/"
		 :recursive t
		 :publishing-function org-publish-attachment



This is all new to me, since I’m a recent convert to Emacs (Spacemacs, actually) so much of the above was copied and pasted from various sources online and tweaked to suit my preferences.

With the above in place I can simply take notes in any of the .org files in the /content/ directory and hit M-x org-publish RET notes RET and I end up with a bunch of nice HTML documents ready to publish. The only thing missing was some sort of simple way to navigate around the site. I improved this by including site navigation in each document…


Publishing to the web server is done using a small shell script and the Ship utility from Carrot. My script commits any changes (to Git), pushes them, and deployes the rendered HTML to an Amazon S3 bucket. It took me nearly all day to figure it all out, and I’m not finished, but I like what I have so far. Everything is at

Logging Film Rolls

Nov 21, 2015   #photography  #analog  #paper  | 206 words

Logging film rolls (2015)

I log all of my film rolls in a paper notebook. I also aggressively caption the digital files from every scanned negative. Doing it twice seems redundant, but I trust paper.

My grandfather wrote notes on or near every photo and film he ever shot. Many of them were created more than 75 years ago. Without those notes the details of the images would be lost. Dates, people, places, all of the interesting background information, gone. It occurred to me that I should be doing the same with my photos.

With digital photos, I worry not only that the metadata is fragile, but the files themselves probably don’t stand a chance of being anywhere readable in 100 years. So, I write everything down where it will be readable.

Currently, I log the following for every roll:

  • Roll number (just an incrementing number, reset each year)
  • Year and month processed. (This is close enough to the date photographed)
  • Camera used
  • Film used
  • Highlights of the roll (who, where, etc.)
  • Relevant exposure and processing notes

Having the actual film negatives and a paper journal of their contents is comforting and that alone is worth the small amount of extra effort. Again, I trust paper.

First shot using New55 Instant Film

Nov 15, 2015   #photography  #Large Format  | 276 words

Jessica and Katie (2015). Crown Graphic. New55 film.

By the time I started taking photos with a large-format camera, it was too late to try any Polaroid Type 55 instant film. But along came the New55 Film Kickstarter. New55 was working on a brand new instant 4x5 film that would, like the original Type 55, yield both a positive print and a negative. I backed the project as soon as I learned of it and waited. And waited.

It seems like every film-related Kickstarter I back ends up taking way longer than expected. I finally was able to purchase a 5-pack of New55 PN film and the above image is my first try using it.

I had to watch a few Youtube videos showing me how to load the film, as I’d never shot anything like it nor had I used a Polaroid back in the Crown Graphic. It made sense once I saw someone else do it.

Jessica stopped by so I asked her to sit in a chair and smile, which she did. As you can see the results aren’t perfect, but I didn’t expect them to be. The image is a scan of the negative. The positive print looks similar. I’m not sure what caused the spots. They look like bubbles to me. I’m going with the idea that the flaws and unusual look give the image some character.

I hope the New55 team can work out the kinks in the manufacturing process. The ones I received were likely assembled by hand, which is not going to scale well. I’ve got four more pieces of New55 and am looking forward to using them.

The iPad Pro is going to destroy everything I've built

Nov 12, 2015   #Apple  #workflow  #hardware  | 393 words

I’m angry with my iPad Pro and it hasn’t even arrived.

I’ve spent a great deal of time over the years refining, tearing down, and rebuilding my process for storing files, taking notes, and managing information. Most of the time I feel like everything is in flux and I have no idea how I want to do things. But once in a while, the past few months especially, I feel like I’m finally settling into a groove. Now it’s going to go to shit.

You see, I am a desktop computer guy. iPhones and iPads are primarily for consumption, as all but a few crazy outliers know perfectly well. This means that for actually getting things done, it’s OS X. Anything that runs on OS X works great for me. This includes terminal-based apps. I love my carefully-contrived workflows based on Mutt, Emacs Org Mode, VimWiki, etc. I blog via Hugo using Markdown-formatted text files written with Vim, Emacs, or BBEdit. I spend time in IRC using Weechat. Todos are managed in Org Mode. You get the idea. The computer is where things get done I’ve had every new iPad since the first version. Never have I considered using one seriously for anything significant. I watch Netflix, read long articles, and occasionally Tweet. There was always a useful separation of concerns and that’s been fine with me.

Along comes the big, beautiful iPad Pro, with its desktop-class performance and giant screen and nifty keyboard. And a Pencil that doesn’t feel like a poor surrogate for my clumsy fingers. Dammit. This is the one that could challenge my stubborn refusal to use an iPad for things that I would normally only do on my laptop. Of course giving up my OS X-only tools means throwing out all of my hard-earned workflow “gains”. Now I’ll have to use apps that work well in both environments and sync nicely. It’s pointy-clicky-tap-pinch-and-zoom land from now on I guess. What about Hazel and Keyboard Maestro and Tmux and the rest? What about my little shell scripts and Applescripts that make things all slick and effortless?

Of course, I realize that it’s not an either/or proposition, but I know me. I’ll spend weeks refactoring my entire system to make room for the new iPad and reluctantly retiring a few beloved tools in the process. It’s bittersweet.

I can’t wait.

Fitbit Charge HR

Nov 7, 2015   #health  #gadget  | 236 words

Since I still don’t love my Apple Watch I tend not to wear it every day. This makes the Watch less useful as a fitness tracker. Also, the battery life of the Watch makes it difficult to use for sleep tracking. The battery doesn’t last long enough to wear it both day and night without spending time managing the charge. I’m just not going to bother with it.

To pick up the Apple Watch’s slack, I bought a Fitbit Charge HR. The Fitbit’s battery lasts 5 days on a charge so that’s no longer a problem. I can wear it 247, so tracking sleep happens without even thinking about it. A nice improvement over earlier Fitbit models is that the Charge HR does not need to be “told” when I’m going to sleep. It figures that out automatically.

The Charge HR’s band is improved since I last used a Fitbit. The new one works more like a normal watch band so it won’t come off accidentally like the old Flex did. The Charge HR also includes an optical heart rate monitor (hence the “HR”). I’m more concerned about my resting heart rate than the rate during exercise so having heart rate logged continually is useful.

Even if I did wear the Apple Watch daily, the Fitbit’s battery life and sleep tracking makes having the Fitbit worthwhile. I’ll occasionally wear both. Good thing I have two wrists.

Moved hosting to netlify

Nov 5, 2015   #meta  #blogging  | 37 words

I’ve been hosting this site on my own VPS for a long time but I’m always interested in looking at other options. To that end, I’ve moved this site to Netlify. If you’re reading this, it worked.

The Last DVD

Oct 20, 2015   #  | 46 words

I’ve been receiving movies from Netflix since the envelopes were yellow. The DVD pictured above is going back today. It is likely the last I’ll ever see, since I’ve finally canceled my DVD subscription.

The DVD is Hitchcock’s “North by Northwest”, in case you were wondering

Book: Seveneves

Oct 17, 2015   #book  | 130 words

A few observations about Neal Stephenson’s new novel, Seveneves.

At nearly 900 pages, it’s quite long. Stephenson’s tendency toward lengthy, detailed technical digression is on full display. You’d think that given 900 pages and 5000 years, there’d be time to fully develop one or two characters, but nope.

And yet, I enjoyed the book. All of the details about low earth orbit, propulsion, terraforming, genetic engineering, etc. were interesting and relevant to the story. Characterization can be secondary in a book of this scope. I mean, when suddenly a new chapter begins with “5000 years later,” I think we’ll have forgotten about the people we’d met so far anyway.

I found Seveneves to be fun, fascinating, and easily worth the time.

(Seveneves is book number 300 in my reading log)

Zim is still missed

Oct 12, 2015   #dog  | 39 words

Zim (2011)

It was a year ago this week that Zim died suddenly and without warning. He was 11. I still miss him every day. He was a very good boy.

I still have all of his favorite things

Book: The Dragon Factory (Joe Ledger #2)

Oct 11, 2015   #book  | 93 words

The Dragon Factory is the second of Mabarry’s Joe Ledger novels that I’ve read and I think I’ve had enough. The action and monsters and spy stuff are fun, but there just isn’t any nuance. The good guys, especially Ledger, are perfect and the bad guys are completely evil. Joe Ledger is so good at everything that I wish he’d get his ass kicked more often than he does. He doesn’t ever really get his ass kicked anyway. He just takes some token hits to prove how totally bad-ass he is. It’s tiresome.