Sweet Org Mode

I've been making some progress on ontydb, mainly looking at different models to use for the storage layer. Trying to combine features from different types of databases presents a challenge in this regard. Although there are advantages to append only files, I also would like to readily support range queries, which are easier with b+trees that have leaves linked together. So after taking a look at LevelDB, BDB, TokuDB (streaming btrees) and others, I've settled on Tokyo Cabinet. The first C version offers a hash, btree, fixed array, and table model, along with an abstract API. This should make for some easier prototyping. Kyoto Cabinet is newer and even better, but it's written in C++ and I'm just looking for something to get started with.

While browsing the FAL site, I came across this neat little photo app for publishing and maintaining photos on a web site, so I decided to give it a whirl. All it takes is a couple of Ruby cgi scripts. One FTPs the photos directly from the phone to a spool directory and they are processed and published every minute by a cron job. I also thought it'd be a good time to fix my blog and figure out why the apache web server I am running is so slow. I've been using Tekuti, a guile web server, along with apache for the static pieces. It turns out the main issue was not enough memory, after taking advantage of a free RAM upgrade from Linode I'm good to go.

Still I wanted to simplify further and make it faster so I turned to good old Org mode in emacs. As I don't really care to support comments, nor need a content manager like Git for storage, I figured I could do it all in Org. Sure enough, with the appropriate options in each org file and a little elisp:

(require 'org-publish)
(setq org-publish-project-alist
      '(("org-notes"
      :base-directory "~/emacs/priv/docs/web/"
      :base-extension "org"
      :publishing-directory "/ssh:joeuser@host:~/public/ontydb.org/public"
      :recursive t
      :publishing-function org-publish-org-to-html
      :headline-levels 4             ; Just the default for this project.
      :auto-preamble t)
      ("org-static"
      :base-directory "~/emacs/priv/docs/web/"
      :base-extension "css\\|js\\|png\\|jpg\\|gif\\|pdf\\|mp3\\|ogg\\|swf"
      :publishing-directory "/ssh:joeuser@host:~/public/ontydb.org/public/"
      :recursive t
      :publishing-function org-publish-attachment)
      ("web" :components ("org-notes" "org-static"))
))

one can readily build an easy to maintain web site that supports a blog and a photos section.

I've used Org for everything now, RFPs, Latex-based technical papers, project management tracking, you name it. It is indeed sweet!

[FSF Associate Member]

Date: 2013-07-28 Sun

Author: Bob Dionne

Email: bitdiddle at member dot fsf dot org

Created: 2017-04-08 Sat 15:29

Emacs 25.1.50.1 (Org mode 8.2.10)

Validate