First experience with astrophotography

Halema'uma'u eruption and stars (Sony A7 35/2.8 Zeiss)

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.


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.

Halema’uma’u eruption and stars (Sony A7 15 mm ISO 6400, 15s


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.


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:

~|⇒ 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:

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:

# 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:

~|⇒ 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':
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
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. 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
DEVONthink Pro Office synchronization
  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:

Commerce and discrimination

Those darned Republicans just can’t catch a break these days. In the latest cultural eruption, the Indiana legislature passed a bill which its governor signed into law. The bill allows places of business to refuse to serve persons if doing would conflict with their sincerely-held religious beliefs. An avalanche of public outcry has Indiana’s governor making a hasty retreat.

Charles Blow of the New York Times weighs in about how we should deal with the juxtaposition of free exercise of religious beliefs and discrimination:

“I would argue that when you enter the sphere of commerce in America — regardless of your ‘deeply held religious beliefs’ — you have entered a nondiscriminatory zone in which your personal beliefs are checked at the register, and each customer is treated equally.”

Indeed. You want to use the currency of an explicitly secular government to conduct your business? Then you can serve everyone who walks in your door. Maybe the best thing for these businesses to do is to refuse United States currency as payment, accepting only church scrip. That might clear things up.

Spotlight-searchable Pinboard bookmarks

I use the excellent, dependable Pinboard service for managing my bookmarks. A one-time fee gives you lifetime access to the service; and there is an API that has fostered an ecosystem of desktop and mobile apps that interact with the service. Of course, Safari can synchronize bookmarks among devices; but it doesn’t allow tagging. Since tagging is a major part of my workflow, Safari bookmarks don’t work for me.

So, here’s where comes in. It’s a relatively simple Python program that downloads your Pinboard bookmarks, writing them to local .webloc files and applying the tags you’ve used in the Pinboard metadata to the local files. Now you’re Pinboard bookmarks are searchable locally.


To use, you’ll first need to install the command line app tag here. Then you can download from my github repository.

Calling the script is just a matter of supplying at least the following arguments:

- `-u, --user`		Your Pinboard user name
- `-p, --password`	Your Pinboard password
- `-w, --webloc`	The path on your filesystem where the webloc files will be stored

Optionally, you can specify the path to the sqlite3 database that the script uses.

`-d, --database`	The path on your filesystem where the sqlite3 database is stored

Let me know what you think. @NSBum

Classroom teaching vs home teaching

Homeschool student practicing division

Homeschool parents are widely regarded as incompetent teachers.

Yesterday, I wrote about my assessment of a lopsided article on homeschooling. I made the mistake of reading the comments. One of themes that emerges from the negative comments is that ordinary parents aren’t up to the task of teaching children.

My husband and I are both teachers, but we’re well educated enough in pedagogy to know that we alone could not teach our children as well as a school environment could. And that teaching is a highly specialized professional field, but unfortunately one that everyone seems to think they can do. … I have two masters degrees, have extensively studied educational and developmental psychology, and have years of experience in the classroom. Of course parents know their own children, but that doesn’t mean they can teach. … Every parent assumes they know more than their child’s highly trained teacher. It would be so nice to be given the respect that professionals in other fields are granted."


Michelle asserts that teachers are professionals with extensive specialized training and experience, both of which homeschool parents lack. Of course this is true. But Michelle, however well-trained she may be commits a logical error by assuming that homeschool parents and classroom parents cannot both be competent in their own contexts. This is a false dichotomy. I’m a homeschool teacher (maybe “guide” is a better word; but whatever); and I have tremendous admiration for professional serious-minded teachers. Of course, I imagine Michelle would admit that teachers are not uniformly skilled and professional; just as homeschool parents are not uniformly qualified. Is the worst classroom teacher still better than the best homeschool parent? How would you know? Michelle creates a “straw-man” by portraying the decision to homeschool as based on their perception of classroom teachers as unskilled, unprofessional, and unknowledgeable. I doubt this is often the case. Our own decision to homeschool was difficult and complex. It had nothing to do with public school teachers.

Or consider the wisdom of Sandee from Houston, TX:

I do not like the idea of homeschooling at all. Oh, and ideas a parent might disagree with… which is, of course, the reason folks elect to homeschool their kids!


No, Sandee, we homeschool for many reasons. In our case, it has practically nothing to do with ideas we disagree with. We are secular to the core. We believe and teach that everything must be questioned and critically evaluated.

A doctor from New Jersey also opines that even the most educated persons in their disciplines are incapable of meeting the needs of their children:

I find there to be a certain arrogance in homeschooling your child. You know that saying about it taking a village to raise a child? As far as I am concerned, school is that village. My husband and I are both MDs. We had 12 years of public school followed by eight years of higher education. In college, I took multivariable calculus, differential calculus, college level physics, organic chemistry, physical chemistry, many, many biology classes, English literature and creative writing classes. My husband was a math major. We’re definitely not undereducated people, but I would never presume that I know enough to teach my children all the skills necessary to make it to college.

NMYNew Jersey

Well, Doc, maybe you’re right. Maybe you’re wrong. Without data, you simply don’t know. But, believe it or not, the purpose of education is not just stuffing more facts in kids’ heads. Maybe it’s a good way to get into med school (it was, I did it) but it’s a really poor way to regard education. The last sentence of the quote, though, points to a fundamental difference in our points of view. I don’t regard the goal of public education as “making it to college.” I want to be confident that my daughter has a love of learning and of books. I want her to be curious and skeptical. I want her to have time to pursue her interests. I want her to find a meaningful livelihood. College, medical school, graduate school, conservatory? All are fine; and our financial plans amply anticipate the likelihood that she’ll go on to post-seconday education. But the obsession with college is an unhealthy one.

There are dozens more comments like these. What they all have in common is a claim that professional public school teachers are always more effective at teaching children than parents. I want to look closely at this argument by defining the skills that make good classroom teachers and those that make good homeschool guides.

Command of the subject matter

Classroom teachers are expected to have a fluent command of their subject material so that it can be explained to a room full of children. But at the same time, we should be coaxing children to develop their own academic skills and self-discovery. Homeschool guides don’t have the same opportunity to go as deeply as classroom teachers within a particular subject; but they have a unique learning environment in which to foster curiosity in their children and to teach them the ability to find things out for themselves.

My question for the doctor quoted above and her husband is this: If your own primary education left you with so little confidence in your ability to teach it, why do you place such unwavering confidence in the institution of public school.

Learning climate

Although I’m not a classroom teacher, I’ve sat in enough classrooms to know how they work. Much of the work of the teacher in school is to set up a productive learning environment. There’s a bit of stage-acting. I’ve heard it described as “edutainment”. I’m not being pejorative here; there are real theatrical skills that excellent teachers possess or develop. It requires enough charisma to motivate and engage students while remaining true to the content and purpose of the lesson.

The homeschool guide is different. Most of us are comfortable in our own homes with our own children. Theatrical skills aren’t really needed. Instead, we weave learning into everything we do. We do set up a quite physical environment where we do our table-based work, our microscope, books, and other tools. But we aren’t bound by this space.


I once drove across the country with a friend who at that time was a recently-retired high school teacher. Before his tenure at the high school, he was a middle school teacher. Over the course of hours of stories, I came to appreciate the toll that the work of maintaining classroom discipline takes on teachers and on the learning environment. In his opinion and that of other teachers I’ve talked with, discpline is becoming a larger problem.

Disciplinary events in the classroom are a form of interruption. The flow of the lesson is broken; and it takes a moment for everyone to get back on task. Moments add up. The science of interruptions provides considerable insight about the cognitive burden imposed by these interruptions.

I do not mean to say that homeschool children never interrupt and never misbehave. But given that many misbehaviors happen in a social context of other misbehaving children, these sorts of patterns don’t emerge in homeschool. At the least, it is not overriding concern for the homeschool parent.


Both homeschool parents and classroom teachers need to have high degrees of empathy to be effective. Empathy, of course, is not the same as feeling sorry for someone. Nor is it feeling the same as someone else. Rather it is the ability to read the emotional state of another person and accurately communicate and respond to that state.

Good parents just do this naturally. Good teachers do to.

Formal pedagogy

There is a formal method in classroom teaching. In front of a class, the teacher appears relaxed, confident and engaging; but it belies the organization and preparation behind the scenes. Great teachers are not only good at conducting a classroom lesson; but they are efficient at preparing and follow-up.

In homeschool, we also have to be prepared; but the planning happens on a different time scale. Because I’m not expected to organize lessons for a classroom that would rapidly devolve into chaos if I don’t have a seamless game plan, I have only a rough idea about how our day is going to proceed. It allows me to be more responsive. I can slow down if ViolinGirl needs more time on something, or skip around if she’s bored because she already understands something. In short, I have to be organized enough to meet her needs; but I don’t have to plan every moment.

Not the same

Great classroom teachers are amazingly skilled. Michelle, quoted previously, incorrectly assumes that we homeschool because classroom teachers are unskilled or unknowledgeable. Among our homeschool peers, we do not know any who regard public school teachers in this way. We may have our disagreements with how schools are run in their bureaucratic way. But I don’t know any who disparage teachers.

Homeschool guides and classroom teachers simply have different roles. Anyone with more than a passing familiarity with how homeschools actually function will recognize that.