Finding things with DEVONthink

I’ve been a DEVONthink user for many years; it’s an amazing piece of software. Currently I’m using DEVONthink Pro Office because I use all of the higher level capabilities. Over the years, my database structure and workflow have gone through many changes. In this post I’ll describe my approach to finding things in DEVONthink.

Databases

At first, I dumped everything into a single database. Over time, however, I realized that finding things was difficult because of the number of false positives when searching. I roughly divide my databases between areas of responsibility. For example, I’m a director at two local music organizations; so I have separate databases for each of those groups. However, most of my material goes into a single database. It’s where all of the items of daily living go - bills, receipts, bookmarks, web clips, etc.

I do have an archive database. Although I don’t systematically move items into the archive, when I find items that I’m sure I won’t wish to see in my searches, I move them across to the archive.

Tags

Tags are among the most powerful feature of DEVONthink Pro Office. In fact, because of the way tags are implemented in DTPO, I have begun to dump most of my folder hierarchy. There are two main ways of storing items in DTPO: groups and tags. The problem with groups is that they allow items to exist only in a single area.[1] Sometimes it’s hard to determine in advance where an item should go. For example, our health care provider sends monthly statements. Should they go in a bills folder, a folder for the provider, a medical folder?

DEVONthink Pro Office location tags

Instead of building deep structures of groups, I’ve become disciplined at building a hierarchical tag list and tagging every item systematically. The choice of tags is dictated by how I want to find things.[2] To be an item, I should be able to ask a series of questions about it, the answers to which will narrow the field. Typical question words help me construct a hierarchy. Where becomes a location hierarchy. Now everything gets tagged with a location that lets me find items geographically. What is the largest tree; and it evolves constantly over time as I add new items and try to classify them. Who has two trees, a Vendor tree and a Person tree. I use either depending on which is appropriate to the item. When is answered by the file data metadata. Why becomes a Purpose tree which has branches for entities such as action, reference, etc. The how question is represented by a Source tree with items such as web, note, scan, email, etc.

Question Tag tree Example
Where location location_us_mn_rochester
What topic topic_financial_tax_2015
When none file creation date
Why purpose purpose_reference
Who vendor person topic_vendor_verizon, person_crustyclown
How source source_scan

Workflow

Every item that I collect goes into the global inbox. I make no attempt to tag or categorize the file at the initial collection point. In order to make collection even easier, I hae a folder on the Desktop titled “DT”. Anything that is saved there triggers a Hazel rule that moves the item to the DTPO global inbox. I check the global inbox daily and move items into destination databases according to the content. Most items go into the general purpose database that I call Leviathan.[3]

DEVONthink Pro Office inbox counts Once an item is in the database inbox, the count of items shows up in the sidebar, acting as a trigger for me to get busy tagging items. Right now, almost every item will go into a reference group after tagging. Importantly, nothing gets out of the database inbox without being tagged.

Although everything goes into one large reference group, I still need to organize materials by project. That’s where my project tag tree comes into play. I create project tags for items that relate to a particular project. When materials come into the database that are related to that project, I tag them either directly in the information dialog or by dragging the items onto the tag in question. Finally, I create project smart groups based on the particular tag for that project.

This is my system for using DEVONthink Pro Office. In particular, it’s how I find things. HTH.


  1. That’s not completely true. You can duplicate (copy) and replicate (create aliases of) items between groups.

  2. Hierarchical tags are a killer feature in DTPO because when you search against a tag, the entire hierarchy below it, if any, will also be taken into account. For more about hierarchical tags, see this post on the excellent Organizing Creativity blog blog.

  3. Leviathan (לִוְיָתָן) is a sea monster mentioned in the Tanakh. It has come to mean any large creature. My general purpose database fits that description pretty well.

A week without a smartphone

A week after ditching my iPhone, I’m happy to report that it’s survivable. Preferable, in fact. However there are a few issues to which I will have to adapt.

The so-so

Calendar

Some sort of calendar is essential. While the iPhone calendar is very difficult to use[1], if you stop carrying around an iPhone then you’ll have to come up with some way of knowing when your appointments are.

Contacts

While my contacts transferred accurately to my dumb phone, using the contact list on the new phone is not easy. I still have no idea how to use it effectively. Other subtle issues cropped up. On the iPhone contact list, I use the full phone number with the +1 prefix. But the dumb phone requires the absence of the prefix in the contact in order to show the name of the person calling or texting.

Photographs

I can’t, or won’t, take gratuitous photographs with the low resolution camera in the dumb phone because I have no real place for them to go. So I have had to ask people to take photos for me and send them via email. It’s not a problem; after all, how many cameras does the world need?

GPS

My car has a GPS, albeit a poor one. When I travel, I almost always do so with my wife who still carries an iPhone. So I haven’t really lost any capability in navigation.

The good

Distraction

I don’t feel nearly as distracted as when I carried an iPhone. I don’t feel compelled to answer any question that pops up in my mind by surfing the mobile web and I feel no compulsion to check my email. This is remarkably freeing; and I feel much more present.

Texting

After years of using the iPhone keyboard and its autocorrection features I find texting on the physical slide-out keyboard of the dumb phone difficult. The result is that I don’t text as much. I’d much rather talk to someone because it’s physically easier to do. And it’s way our species evolved to do.

In all, my life is not in shambles. I don’t feel left out of anything that I need to be a part of. I feel more relaxed. I don’t feel any compulsion to “check things”[2] or otherwise occupy my “downtime.”


  1. To be fair, the iPhone calendar is accurate and does the best that it can do with the available screen size. Certain tasks like scheduling items on the calendar if you know a specific date and time are easy. However much of the time that I am using a calendar, I’m searching for an available date and time where context matters. This is where paper calendars excel. I can see a large number of days at once.

  2. Although we often describe heavy smartphone use as a sort of addiction, the organizers of The Disconnect project describe it as more of a compulsion. They challenged 15 year olds at a private school in London to give up their smartphones for a week. The students found the task difficult but not impossible suggesting that the checking behavior that leads of excessive use is a compulsion rather than an addiction. The Guardian has more on the project.

No service

Right now the status bar on my iPhone 5 reads “No service”. This time it’s for real; and it’s permanent.

I was an early adopter. Now, I’m an early dropper. Or whatever the opposite of “adopter” is. But I’m weary of iPhones, iPads and all manner of things that claim to make my life better. Because they don’t.

This isn’t the first time I’ve written about my growing disinterest in iThings.[1] What began as a desire to avoid being distracted and constantly tethered to the phone has given way to a deeper mistrust of technologies that follow us around. It has taken me a while to come to a fuller recognition of what irritates me about these devices. Certainly their invasiveness, distractibility, and expense remain problematic. But what concerns me more is that iPhones - and by “iPhones” I mean any manner of smartphone - have a pernicious and viral quality about them. Not only do they make it easier and more addictive to check out of the real world, but their ubiquity and “social” hooks make them efficient at spreading cultural expectations about the nature of work and availability to one another. In other words, when everyone has a smartphone, then smartphones become a vector for the warped idea that work is a 24/7 proposition. It becomes nearly impossible to opt-out. No other man-made tool has been so efficient at generating and maintaining a meme like this, one that guarantees its own survival.

Not only do smartphones spread expectations about availability and always-on work, they also disseminate ideas about human imperfection and the desirability of eliminating it. No longer is there an excuse for being lost. Everyone has a GPS in their pocket. No longer is there an excuse for a missed appointment or a forgotten phone number. Never mind that whole regions of the brain are likely falling into disuse atrophy.

But our imperfections are not necessarily “bugs” in the system; perhaps they are “features” (to borrow from programming parlance.) What if the chance of forgetting is what drives us to remember? What if getting lost gives us the confidence to take chances? Whether a bug or feature, demanding perfection of ourselves or others runs counter to Buddha-nature. Accepting that which is, without a desire to make it otherwise, is where happiness is found.


  1. alanduncan.me “Goodbye iPhone”. In February, 2014 I first wrote about my intent to ditch the iPhone. But I discovered that I had several more months of indentured servitude before I could cancel my contract without incurring an early cancelation fee.

First experience with astrophotography

uma

One of the great things about shooting with a camera like the Sony A7 that has an advanced sensor is that you can shoot astrophotographs with less noise that ever before. This comes into play with the inevitably long exposures you encounter when shooting the night sky. On a recent trip to view Kilauea volcano as we’ve done many times, I wondered if it might be possible to capture both the volcano and the star-filled sky in the same shot; so I began to research a bit on astrophotography. I’m by no means an expert; but I’ve learned a bit.

Equipment

I shot with a Sony A7 full-frame mirrorless camera. It’s got an excellent low noise sensor. At least [one reviewer] prefers the A7S because it’s larger pixel size allows this A7S’s sensor to capture more startlight. The published images do look amazing. I shot with a variety of lenses during my limited experience on Kilauea. Most of the images that I captured were shot with a wide angle, either the Zeiss/Sony 35/2.8 or a Voigtländer 15 mm Leica M-mount with a Metabones adapter. The wider the aperture, the better because it enables shorter exposures at lower ISO settings.

A tripod is essential for the long exposures used in astrophotography. I use a Gitzo Basalt tripod. It’s a little bulky if you’re planning on hiking a distance with it; but it solid and stable. I’ve taken it out on long hikes out to the active lava flows and it’s withstood a lot of abuse. You’ll want a proper head for the camera mount. I love the equipment from Really Right Stuff. It’s pricey; but their products are beautifully made and engineered to perfection. On top of the Gitzo, I use their BH-40 ballhead. Just so you know, you will need an Arca-Swiss bracket for the camera. On the A7, I was tempted to buy the Really Right Stuff bracket; but I opted for a well-made less expensive option this time around.

How I found this spot

We stayed one night at the historic Volcano House overlooking Halema’uma’u Crater. Since there’s a lava lake occupying a portion of the crater floor, I expected to see some nice incandescent glow after dark. Right on schedule, after sun began to fall, the glow became visible about a mile in the distance. But almost at the same time, as the sun slipped behind Mauna Loa, the temperatures began to fall and with the high dew points, clouds formed instantly in the cool air, nearly completely obscuring any views of crater. I packed up my gear and went to bed.

I woke up again at 1 AM to my alarm, peered outside and saw clear views of the glowing vent; so I packed my equipment and started hiking about a mile down to the steam vents. I ended up taking the wrong trail in the complete blackness; and while backtracking, the clouds and fog rolled in again. This time, visibility was reduced to a few feet. I eventually made it back to the room and slept another hour. At that point, I began consulting the Hawaii Volcanos Observatory webcams. I figured that if they were showing clear views of the vent, then I should be able to drive down to a point close enough to walk, fire off a few shots before the fog came in again. Sure enough, around 2:30 AM, I caught a glimpse of the vent looking sharp on the webcam. Again, I grabbed my gear and sped off in the Jeep. After about a 300 yard walk, I found a spot with a beautiful view of the glowing gasses. Every now and then you could catch the sound of the lava rumbling in the crater. It was a spectacular experience. Since the stars were out, my goal was to capture both the star field and the crater. So many of the photos were taken with the Voigtländer 15 mm Leica M-mount lens. It’s a so-so lens overall; but it certainly gave some nice sweeping views.

Process

To capture the stars, you have to dial up the sensitivity. I bracketed for ISO settings. Most of the shots were taken at ISO 3200 or 6400. I chose not to use the Auto ISO setting out of concern that the algorithms might choose to ramp up up the sensitivity beyond the point where noise would limit the quality too greatly. Most of the images were shot wide-open to minimize the exposure length. Exposures are going to be several seconds long. With exposures that are very long, one risks star trails. Because the earth is rotating, the light from the stars will inscribe an arc on the image if the shutter is open too long. There is a heuristic for computing the maximum shutter opening duration as a function of the focal length of the lens. The so-called “Rule of 600” states that the maximum open shutter duration is 600 divided by the focal length of the lens.[1] An experienced astrophotographer posted his web calculator at the Lonely Speck. With either the rule of thumb or the more sophisticated calculator, it’s just a starting point.

Focusing is difficult. You must use only manual focus. Since you are photographing objects that you may not be able to see with the naked eye, it is hard to focus in the same way you may be accustomed to normally. I would start by moving the focus ring to infinity, then trying to identify the brightest star to fine tune your focus on.

Since I didn’t have a remote release, I just used the timer function on the camera to delay the activation of the shutter. Since the exposures are so long, I’m not even sure how necessary that it.

Conclusions

It’s not difficult; but noise is an issue. Some of the images are noisier than I’d like. I’m anxious to try the Rokinon 24mm f/1.4 ED AS UMC[2] and see if I can get the exposure times down a bit more.


  1. You can read a detailed discussion about the Rule of 600 here

  2. This is a big bulky lens; but the author of the Lonely Speck regards it as ideal for astrophotography. You can read his review.

Concatenating mp4 video files

I recently shot a recital with my Sony A7. While it’s a wonderful camera for stills and it produces some excellent video too, cameras like this are not meant for continuous video recording. There are limitations that are imposed by compression algorithm licensing requirements. And, it seems, there are limits that are imposed by thermal issues inside the camera.

To make a long story short, my A7 ended up giving me two video files instead of one for this event. What to do?

First I thought of making a round-trip through iMovie; but I so dislike that confusing dumbed-down piece of software that I’d rather doing anything other than that. Fortunately I stumbled upon ffmpeg.

Installing Homebrew and ffmpeg

On OS X, the easiest way to install ffmpeg is to use Homebrew. I do. I’m not going to walk through all of the steps for installing Homebrew as they are published elsewhere.

After installing Homebrew, you’ll need to install ffmpeg. I followed another set of instructions. I started by looking at all of the installation options available for ffmpeg:

1
~|⇒ brew options ffmpeg

Not being a audio/video codec guy, I found it too confusing; so I cut and pasted the command to install ffmpeg with all of the options:

1
brew install ffmpeg --with-fdk-aac --with-ffplay --with-freetype --with-frei0r --with-libass --with-libvo-aacenc --with-libvorbis --with-libvpx --with-opencore-amr --with-openjpeg --with-opus --with-rtmpdump --with-schroedinger --with-speex --with-theora --with-tools

Concatenating files with ffmpeg

Now, you need to create a text file specifying the videos that you wish to join. The paths are relative to the text file path. So, I created a text file on the desktop and called it concatv.txt:

1
2
3
# videos to concatenate
file '2015_04_11_13_49_29.mp4'
file '2015_04_11_13_59_42.mp4'

Now, go to the Terminal (or iTerm like I use) and give the concatenation command for ffmpeg with your specification file and the output location and options:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
~|⇒ ffmpeg -f concat -i ~/Desktop/concatv.txt -acodec ac3 -vcodec copy output.mp4

ffmpeg version 2.5 Copyright (c) 2000-2014 the FFmpeg developers
built on May 7 2015 06:08:38 with Apple LLVM version 6.1.0 (clang-602.0.49) (based on LLVM 3.6.0svn)
configuration: --prefix=/usr/local/Cellar/ffmpeg/2.5 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-libx264 --enable-libmp3lame --enable-libxvid --enable-libfreetype --enable-libtheora --enable-libvorbis --enable-libvpx --enable-librtmp --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-aacenc --enable-libass --enable-ffplay --enable-libspeex --enable-libschroedinger --enable-libfdk-aac --enable-libopus --enable-frei0r --enable-libopenjpeg --disable-decoder=jpeg2000 --extra-cflags='-I/usr/local/Cellar/openjpeg/1.5.1_1/include/openjpeg-1.5 ' --enable-nonfree --enable-vda
libavutil 54. 15.100 / 54. 15.100
libavcodec 56. 13.100 / 56. 13.100
libavformat 56. 15.102 / 56. 15.102
libavdevice 56. 3.100 / 56. 3.100
libavfilter 5. 2.103 / 5. 2.103
libavresample 2. 1. 0 / 2. 1. 0
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 3.100 / 53. 3.100
Input #0, concat, from '/Users/alan/Desktop/concatv.txt':
Duration: N/A, start: 0.000000, bitrate: 15957 kb/s
Stream #0:0: Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 15704 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc
Stream #0:1: Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 253 kb/s
Output #0, mp4, to 'output.mp4':
Metadata:
encoder : Lavf56.15.102
Stream #0:0: Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 15704 kb/s, 29.97 fps, 30k tbn, 30k tbc
Stream #0:1: Audio: ac3 ([165][0][0][0] / 0x00A5), 48000 Hz, stereo, fltp, 192 kb/s
Metadata:
encoder : Lavc56.13.100 ac3
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (aac (native) -> ac3 (native))
Press [q] to stop, [?] for help
frame= 1660 fps=0.0 q=-1.0 size= 170730kB time=00:00:55.35 bitrate=25266.2kbits/frame= 3300 fps=3299 q=-1.0 size= 338567kB time=00:01:50.07 bitrate=25196.4kbitsframe= 4820 fps=3213 q=-1.0 size= 494783kB time=00:02:40.79 bitrate=25207.8kbitsframe= 6470 fps=3235 q=-1.0 size= 663576kB time=00:03:35.84 bitrate=25184.3kbitsframe= 7880 fps=3152 q=-1.0 size= 808522kB time=00:04:22.89 bitrate=25194.0kbitsframe= 9520 fps=3173 q=-1.0 size= 977105kB time=00:05:17.62 bitrate=25200.8kbitsframe=10920 fps=3119 q=-1.0 size= 1120948kB time=00:06:04.34 bitrate=25203.5kbitsframe=12660 fps=3164 q=-1.0 size= 1298599kB time=00:07:02.38 bitrate=25185.6kbitsframe=14279 fps=3172 q=-1.0 size= 1464549kB time=00:07:56.40 bitrate=25183.4kbitsframe=16030 fps=3205 q=-1.0 size= 1644149kB time=00:08:54.83 bitrate=25183.3kbitsframe=17880 fps=3248 q=-1.0 size= 1833635kB time=00:09:56.56 bitrate=25179.5kbitsframe=19530 fps=3251 q=-1.0 size= 2004140kB time=00:10:51.64 bitrate=25194.7kbitsframe=21080 fps=3239 q=-1.0 size= 2162571kB time=00:11:43.33 bitrate=25188.2kbitsframe=22920 fps=3271 q=-1.0 size= 2351215kB time=00:12:44.73 bitrate=25186.9kbitsframe=24378 fps=3247 q=-1.0 size= 2500568kB time=00:13:33.37 bitrate=25184.6kbitsframe=26090 fps=3258 q=-1.0 size= 2676095kB time=00:14:30.50 bitrate=25183.8kbitsframe=27840 fps=3272 q=-1.0 size= 2856249kB time=00:15:28.89 bitrate=25189.5kbitsframe=29570 fps=3279 q=-1.0 size= 3032933kB time=00:16:26.61 bitrate=25182.8kbitsframe=31130 fps=3271 q=-1.0 size= 3178060kB time=00:17:18.67 bitrate=25065.4kbitsframe=35330 fps=3527 q=-1.0 size= 3182691kB time=00:19:38.81 bitrate=22117.7kbitsframe=39660 fps=3771 q=-1.0 size= 3187472kB time=00:22:03.28 bitrate=19732.5kbitsframe=43280 fps=3928 q=-1.0 size= 3191459kB time=00:24:04.07 bitrate=18104.6kbitsframe=47660 fps=4138 q=-1.0 size= 3196297kB time=00:26:30.22 bitrate=16465.7kbitsframe=50265 fps=4183 q=-1.0 size= 3288092kB time=00:27:57.18 bitrate=16060.2kbitsframe=51955 fps=4151 q=-1.0 size= 3461672kB time=00:28:53.57 bitrate=16358.1kbitsframe=53695 fps=4125 q=-1.0 size= 3640451kB time=00:29:51.63 bitrate=16645.4kbitsframe=55075 fps=4074 q=-1.0 size= 3782069kB time=00:30:37.69 bitrate=16859.6kbitsframe=56841 fps=4055 q=-1.0 size= 3962677kB time=00:31:36.60 bitrate=17116.0kbitsframe=58625 fps=4038 q=-1.0 size= 4145422kB time=00:32:36.13 bitrate=17360.4kbitsframe=60221 fps=4010 q=-1.0 size= 4309072kB time=00:33:29.38 bitrate=17567.5kbitsframe=61865 fps=3986 q=-1.0 size= 4478416kB time=00:34:24.25 bitrate=17772.6kbitsframe=63675 fps=3975 q=-1.0 size= 4663684kB time=00:35:24.63 bitrate=17981.9kbitsframe=65371 fps=3957 q=-1.0 size= 4837570kB time=00:36:21.22 bitrate=18168.4kbitsframe=66712 fps=3920 q=-1.0 size= 4975079kB time=00:37:05.96 bitrate=18309.3kbitsframe=69115 fps=3945 q=-1.0 size= 5090248kB time=00:38:26.14 bitrate=18081.8kbitsframe=73456 fps=4077 q=-1.0 size= 5095040kB time=00:40:51.00 bitrate=17029.2kbitsframe=77825 fps=4202 q=-1.0 size= 5099858kB time=00:43:16.77 bitrate=16088.4kbitsframe=82205 fps=4322 q=-1.0 size= 5104691kB time=00:45:42.91 bitrate=15245.7kbitsframe=86583 fps=4436 q=-1.0 size= 5109513kB time=00:48:08.99 bitrate=14488.5kbitsframe=90945 fps=4543 q=-1.0 size= 5114326kB time=00:50:34.54 bitrate=13806.5kbitsframe=95295 fps=4644 q=-1.0 size= 5119122kB time=00:52:59.68 bitrate=13188.7kbitsframe=98790 fps=4719 q=-1.0 Lsize= 5125570kB time=00:54:56.37 bitrate=12737.8kbits/s
video:5045729kB audio:77259kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.050416%

And you’re done.

Dandelions and innocence

Let it grow

Spring has finally arrived in Minnesota. So have dandelions.

On one of our walks, my daughter ViolinGirl exclaimed how much she loved the yellow “daisies” that dot some lawns. She wished our lawn could be covered with these beautiful flowers.

What a strange circumstance! We begin life appreciating the random beauty of these “weeds.” But once we reach adulthood, neighborhood peer pressure and cultural expectations have us spraying toxic chemicals - to our own detriment, no less - to eradicate these cherished flowers.

We are selling our house and property located on one such anti-dandelion neighborhood. With it, I’ll say goodbye to people who insist that I join them in dandelion genocide. So like the Lorax, I’ll say: “Let it grow!”

Nietzsche and the sublime purposeless of music

Nietzsche at the piano

I have always been trouble in some ill-defined way by articles that assert the benefits of music in some tangible way. For example, kids with music training do better at math. (I don’t if that’s true or not; but you get the style of what I’m talking about.) The unwritten inference is something like this: “No one but a fool or the spectacularly talented would regard music as an economically-valid life path; but math might be. So have your kids play music so they will make good grades and get into an Ivy League school.”

A recent article[1] in the New York Times frames the sorts of passionate play to which music belongs in the framework of human development that Nietzsche describes allegorically in Also Sprach Zarathustra. There Nietzsche describes three phases through which the mind must pass, culminating in the form of an innocent playing child - the “holy yea” (Heilige Ja-sagens auf Deutsch). If you know a bit of Strauss and Kubrick, you will see that line of thought.

The writer also channels another favorite, Bertrand Russell who said that:

“the modern man thinks that everything ought to be done for the sake of something else, and never for its own sake”[2]

This captures exactly how I feel about music. Why worry about what it does for test scores and Ivy admissions?

After taking the reader on a tour of Western philosophers’ take on play and life’s purpose, the author concludes:

“When we see an activity like music as merely a ‘key to success,’ we shortchange it and ourselves. Playing a musical instrument is both the pursuit of fulfillment and the very thing itself (the actualizing of potential). Playing, or even listening, in this case, is a kind of unique, embodied contemplation that can feed both the mind and the body.”

“When we truly engage in such ‘impractical’ leisure activities — with our physical and mental selves — we do so for the pleasure they bring us and others, for the inherent good that arises from that engagement, and nothing else. That’s the ‘holy yea.’”


  1. Asma, Stephen T. “Reclaiming the Power of Play.” Reclaiming the Power of Play New York Times, 27 Apr. 2015. Web. 27 Apr. 2015. Link

  2. Russell, Bertrand. 1958. In praise of idleness, and other essays. London: G. Allen & Unwin.

Middle class economics and false dichotomies

Patricia Cohen’s piece “Middle Class, but Feeling Economically Insecure”[1] published yesterday in the New York Times raises several discrepancies between the economics of the middle class and one’s identification with that group. Reading the comments on the article I was struck by how divided Americans’ points of view are when it comes to the middle class and the causes of its distress. Clearly middle class wages have stagnated in the years immediately preceding and following 9/11. As the article points out, the median income in the US has not risen since 2000. Many of the commenters point to this and the feeling of insecurity and dispensability as a source of middle class angst. Others, fewer in number, point to a change in the baseline spending level. One commenter sums it up this way:

“I have a different take. I know that health care costs have skyrocketed and government policies have favored the rich, but I’ve met the enemy and it is us.”

“Around here, where there is an abundance of build-able land, houses have gotten bigger and nicer thru the decades. An obvious, dramatic increase in square footage, ceiling height, roof complexity. Anybody want to tell me that they don’t have twice or three times the kitchen that their parent had. And cars are bigger and nicer too, (I have a 1961 Ford f-250, and it’s smaller than a new Toyota Tacoma). Television was free back then and is still worthless today but people are addicted and will pay anything for cable. And cell phones cost about $40,000 per person per lifetime. That’s gotta come out of something and it shouldn’t be the kids education.”

Here’s the false dichotomy. The problem isn’t either solely due to economic policy or to consumer excess. It’s both.

I spent the majority of my childhood in an 1100 square foot home. Much of that time, we had a single family car. We attended public schools. We certainly didn’t have TV’s in every room. I remember once when it “played out” (that’s what we said in the South), we called the TV repairman to fix it. I remember laughing at the folks who had a second phone line for the kids. It was listed in the white pages as “Teen phone.” We almost never took vacations just for the sake of getting away. We always regarded ourselves as middle class. Today, we would regard that existence as deprived. Not then. And not me. I feel fortunate.

Perhaps the real problem is that rising expectations aren’t matched by rising incomes. We’ve allowed ourselves to be victimized by advertising and cultural expectations about owning “stuff”.

A third aspect, almost never discussed, is a shift in the aspirational qualities of the middle class. I feel very fortunate to have grown up beginning in the 60’s when the middle-brow culture of the middle class saw enduring qualities such as music and education as a pathway to both personal and economic betterment.

The problem with focusing on stagnant wages is that doing so closes out other productive ways of looking at the problem. Let’s start with ditching some of the amenities.


  1. Cohen, Patricia. “Middle Class, but Feeling Economically Insecure.” The New York Times. The New York Times, 10 Apr. 2015. Web. 13 Apr. 2015. http://nyti.ms/1z2UPPe link

Private virtues v. public life

Politics is hopeless arena in which to enact individual values. Commercial interest will always win because of the enormous cost of modern politics. As I’ve written before[1] I think that voting is an inefficient way of effecting change in a way that aligns with personal values. Persons can only be elected when they affiliate themselves with a package of values whose source is largely commercial interest. For example, if I placed the highest values on a balanced federal budget, low defense spending, universal health care, and inclusive rights, who would I vote for?

Perhaps the key to living with one’s own conscience isn’t in choosing among imperfect political choices at all. What if we simply decided that the political process was an inferior way to live peacefully with one’s choices. What if the answer isn’t found in trying to compel others to believe and act as we wish? What if we all decided to ambiguous choices to the individual, for the vast majority of choices are ambiguous. (The question isn’t whether they should or shouldn’t be ambiguous. Take a look outside your bubble and you’ll see that they are.)

What if we all stopped trying to use a political process to force these ambiguous choices on others and started living according to our own private virtues - something akin to Benjamin Franklin’s thirteen virtues. Early in adulthood, Franklin resolved to live according to a list of virtues such as temperance, frugality, moderation, tranquility and resolution. What would happen if we all cared a little less about using politics and public policy to foist our moral precepts on others and simply practiced them ourselves in a committed organized way? Humans have a strong and universal moral sense about impermissible activites. Murder, for example, is proscribed under most circumstances in nearly all societies. Apart from these universally-held moral instincts, what use do we have for politicizing and legislating the myriad values that aren’t universally-held? The size and commercial bias of our governments has made it all but useless to engage in a political struggle over moral interests. We would all be better of if we simple clarified our own individual personal values, lived as faithfully to them as we could, and went on with our lives.


  1. Voting and Efficacy, April 2, 2014 link

Synchonizing DEVONthink databases across machines

This is how I do it. YMMV.

I’ve used DEVONthink since its early days. If you’re unfamiliar with DEVONthink, it’s a knowledge management tool that allows you to save information, tag it, cross-reference it and classify it. Since I use both a laptop and a desktop Mac Pro, I need to synchronize databases across machines. There are several ways to go about synchronization:

  • Direct connection This is not a bad option when both machines are turned on simultaneously and are connected to the same network.
  • Dropbox Obviously, you need a Dropbox account for this. Since databases can grow quite large, you may need a paid Dropbox account for it. I don’t like having my personal information in the cloud; so I don’t use this option.
  • WebDAV I don’t run a WebDAV server, so that was out.
  • Local sync store This was the best option for me, since I use BitTorrent Sync to synchronize certain content between machines using peer-to-peer connections.

Here’s how I do it.

  1. First and foremost, you need to have an identical copy of the database in the local filesystem of both machines that you are synchronizing. On the source machine, I copy the database to the directory that I’m synchronizing via BitTorrent Sync (BTS). (Note that I don’t use BTS as a vector for directly synchronizing databases between machines. I don’t trust that it could faithfully synchronize the interal package structure.)
  2. Allow BTS to fully synchronize between machines.
  3. On the destimation machine, copy the DEVONthink database from the directory that BTS is synchronizing to the directory where you want to store your databases. (Again, note that I don’t actually use BTS to sync the database itself. Right now, we’re just using it to transfer an identical copy of the database from the source to destination machine. You could just as easily use a USB stick for this step.)
  4. Delete the database from the BTS-synced folder. Remember that it was just there to copy to the destination machine.
  5. On the source machine, set up a local sync store: DEVONthink Pro Office > Preferences > Sync
  1. Select your database and choose + > Add new local sync…. Choose a location in the directory that BTS is syncronizing.
  2. Press Sync Now to synchronize.
  3. Now, on the destination machine, go to the sync preferences: DEVONthink Pro Office > Preferences > Sync.
  4. Choose your database.
  5. In the third column of the view, choose + > Add Existing Local Sync Store… and choose the sync store that you created on the source machine.
  6. Setup synchronization schedules on both the source and destination machines.

The original idea for using this method came from this post and I modified it to use BitTorrent Sync.

Some other favorite posts about DEVONthink: