Friday, February 27, 2015

Thoughts while watching the waves at Morro Strand S.B.

How did this beach look
        a century or millennium ago?
Did curlews and sandpipers
        chase and flee the ocean waves?
Did hawks soar
        and dip overhead?
How many generations of bipeds
        came and went?
How many empires were built,
        wars fought,
        libraries written
While these same waves washed
        onto this same stretch of sand?

And a century or millennium hence?

“Teach us to number our days,
        that we may gain a heart of wisdom.”        (Psalm 90:12)
“Generations come and generations go
        But the earth remains forever.”        (Ecclesiastes 1:4)

Wednesday, February 25, 2015

A high school math problem and Euler's formula

I was on my high school's math team in the early '70s, and in one contest there was a problem that stumped us. Basically it was this:
Find two numbers, not 0 or 1, such that each is the square of the other.
If you remember that there is such a thing as a complex number, the problem isn't hard. Trouble was, we had all forgotten about such things in the moment.

But what happened afterward was very interesting to me. I noticed that the solution involved complex numbers, and a particular kind of complex number: the kind with a "length" or "magnitude" of 1. Somehow I noticed what happens when you multiply such complex numbers together.

It was so much fun learning all that, and I was thinking about it again for some reason recently. So I wrote a bunch of stuff down. Not in blogger; this requires LaTeX. Some topics mentioned:

  • factoring
  • quadratic formula
  • addition formulas for sin and cos
  • matrix multiplication (2x2)
  • Maclaurin series (Taylor series centered at 0) This is the only part needing calculus.
  • "isomorphic" which just means that this thing is like that thing and behaves in the same way. Probably I misuse the word somewhere.
It sure was fun to learn that stuff, and fun to think about it again and write some of it down.

I've uploaded my little paper here.

Monday, February 23, 2015

A sermon we'll never hear at MPPC

I picked up the lovely Carol in Los Angeles; she’d attended a conference on the USC campus. We looked at a list of nearby congregations and selected Abundant Life, a mile or two away. Little did we know what awaited us.

I couldn’t see any on-street parking, but the church’s parking lot was nearly empty. An attendant told us to park anywhere. When we walked into the building, we were greeted warmly and asked whom we were visiting.

“We found you on the website,” I said. Our greeter recovered quickly and indicated the sanctuary. We sat near the back, but someone urged us to move a few rows forward, which was fine.

I'll skip over the music (it was great) and the affirmation of faith (I affirmed it with a clear conscience), because I want to tell you about the sermon, which was on the theme of “Staying alive.” It's really important to remember that Jesus died for us to demonstrate his love for us, the preacher said. One consequence is that I don't need to prove my devotion to God by having a death wish. The first Scripture was from Matthew 5:

“Settle matters quickly with your adversary who is taking you to court. Do it while you are still together on the way, or your adversary may hand you over to the judge, and the judge may hand you over to the officer, and you may be thrown into prison…
Matthew 5:25 (NIV)
“Point number one,” the preacher said: “Avoid the system. Avoid the system. Don’t give the system an excuse to pull you in. Fix that taillight. Stop drinking and driving. Stop driving with a suspended license.” Because the system can throw you into prison. The system can literally kill you.

To overcome injustice, the preacher said, we need to pray hard enough, and work hard enough, and vote strong enough to bring about changes. But you can't vote if you're dead!

The sermon was addressed to people of color, which most of the congregation were. There might have been three white people (including the lovely Carol) in the room, and one east Asian (me). All of us were aware that the system isn't as fair or color-blind as we would like it to be. But this was probably the first time that I felt keenly my privileged status among my oppressed brothers and sisters. Rodney King was beaten by L.A. police officers just a few blocks from where we were sitting.

The preacher described having a gun held to his head and being ordered to lie down on his face on the wet floor of a car-wash. He had a suit on, and a clerical collar, and as he lay there, hands zip-tied behind his back, he was yelling at a young hot-head, the son of a parishioner, to “Just chill!” because whatever he wanted wasn't worth dying for; policemen in riot gear were ready to kill that young man.

Thank the Lord, everybody survived that day. But this is a broken world, and not all incidents end peacefully like that.

The preacher went on to talk about how we need to submit to institutions, because God (a God of order, not disorder) ordained these institutions. Which is not to say, he added, that everybody in a position of power actually needs to be there! We need to submit anyway.

He also described what it means to submit: the Greek word being ὑποτάσσω (hoo-poh-tahs-soh) which means to “come up under.” He pointed out a parishioner who was about to join the Marines; he's going to learn about submission big-time. This doesn't mean that his superiors in the Marines are perfect or always right, but he has to be under them.

It's important sometimes, he said, to submit to your boss at work; to keep that job, even though your boss isn't perfect and may not always be right or treat you right. Sometimes, you need to just. Shut. Up.

Red or yellow, black or white (and I might add, young or old), some of us need to hear that, to remember it and take it to heart.

Well, I don't want to recap the entire sermon, but I did want to share the experience with you. I was very glad we went, happy to have fellowship with brothers and sisters whose lives are very different from mine.

Friday, January 30, 2015

je suis charlie, je ne suis pas charlie

Though I prefer taking the train to work, this week I drove three times for various reasons. The plus side was that one evening, I heard part of Terry Gross's interview with Jack Miles, author of God: a Biography.

Miles was responding to a question about the murders at Charlie Hebdo and France's “je suis charlie” response, and he said something that (obviously) impressed me. He began by pointing out that we have a tradition of free speech in the West, and that although some of the cartoons were crude, juvenille and tasteless, there are no laws against that. (I believe Gross had asked him something like: Suppose you were the editor of a magazine, would you would publish cartoons depicting the Prophet?)

He also stated definitively that the murders at the magazine's office were an atrocity. That said, he offered two interpretations of "je suis charlie." According to one view, with which I mostly sympathize, "je suis charlie" means:

The spirit of France is one of free expression, and you can't kill it. You think you killed the French spirit by murdering those people at the Charlie Hebdo office? Well, I'm Charlie too, and you can't kill off the French spirit without killing all of us.

On the other hand, Miles also pointed out that unlike Mulsims in many other countries (e.g., the US), Muslims in France are largely from a single ethnic group, have a very high unemployment rate (whether because of their religion or their race I don't know) and therefore are afflicted by poverty. To them, "je suis charlie" may be heard as:

Those crude and tasteless cartoons you saw in Charlie Hebdo? We despise your Prophet too, just like those cartoons said; we are Charlie. And we despise you and want to keep you at the bottom of our society.

So am I charlie? By the first interpretation, yes! It is unconscionable to kill people for publishing stuff you disagree with. Even if it's crude and tasteless.

But by the second interpretation, no! I absolutely disagree with the tasteless and crude cartoon I heard described in that interview. I actually agree with the ideals of our country: equality of opportunity without regard to race, creed or color. I do not despise the prophet Mohammed [pbuh], who said many true things about Jesus Christ; he also reminds me of some of the prophets I have read about in the Bible.


I may go out and buy Miles's book, actually. I learned something profound from him just listening to him for a few minutes; what might I learn after reading 446 pages?

Monday, January 19, 2015

snow leopard to Yosemite upgrade, part trois: procmail bug problem

Sincerely hoping this is the last part. In part deux we figured out question #4 from my list in part 1. So now on to questions #3 and #1, as I hope #2 will take care of itself.
Actually I'm pretty sure that if I fix #3, then #2 will be fine. Why? Because it's true for the lovely Carol; her .procmailrc isn't problematic, and her email went fine into Maildir/newMaildir/cur.

Yes! I've got to take my encouragement when I can.

Anyway, to debug #3, I tried this:
mini1:~ collin$ cat Mail/backup/92784 | strace procmail
-bash: strace: command not found
mini1:~ collin$ 
Dang. There is no strace, but there is a truss, dtruss actually, on Mac OS X. It requires root privileges. So I became root and ran procmail on a minimal .procmailrc which nonetheless has a line like
FROM=`sed 1d | formail -I reply-to: -I resent-from: -I return-path: | \
        formail -rzxTo:`
Sure enough, the dtruss output convinced me that this particular feature is b0rken in the current procmail.

Fortunately, that's the only place I use that in .procmailrc, and it's not actually needed. So I said…

mini1:~ collin$ cat Mail/backup/92708 | procmail
mini1:~ collin$ 
and clicked "Get mail" on thunderbird. It asked for my password, and there my mail was.

So there's something rotten in the Yosemite version of procmail 3.22. That was with /usr/bin/procmail, and I wondered if the mac port version would have a similar issue. Yes :(.

mini1:~ collin$ cat Mail/backup/92862 | formail -imessage-id: | /opt/local/bin/procmail .procmailrc.1.18
Abort trap: 6
mini1:~ collin$ 
Guess I'd better file a ticket.
Done: https://trac.macports.org/ticket/46623
Now for question #1: the issue may have been as simple as needing to add a component to $PATH, as:
mini1:~ postman$ grep PATH tunnel.sh
PATH=$PATH:/usr/sbin:/usr/local/bin
mini1:~ postman$ 
Formerly, fetchmail was in some common place like /usr/bin but I had to install it myself, which I did Sunday. So now it's in /usr/local/bin/fetchmail—which probably wasn't in root’s path and hence might not be in $PATH at all given that the script is invoked by root from launchctl.

But I think everything works now. Whew!

snow leopard to Yosemite upgrade, part deux: dovecot

continued from part one

Found this post from Robert Chalmers, advising me to upgrade dovecot to something more modern… which requires libiconv. So:

While in the midst of that, I figured I should get rid of the old dovecot from mac ports. So I said "port list | grep dovecot" and found instead a dovecot2, which I decided to install:
mini1:~ collin$ sudo port install dovecot2
After some muddling around with that (I had to deactivate some old packages basically), I became root and…
bash-3.2# doveconf -n > dovecot-new.conf
bash-3.2# mv dovecot-new.conf /opt/local/etc/dovecot/dovecot.conf
But trying to run dovecot gave me an error message... default login user (dovenull) doesn't exist. Why not? Because it's spelled wrong.
bash-3.2# grep dovenull /etc/passwd
_dovenull:*:227:227:Dovecot Authentication:/var/empty:/usr/bin/false
bash-3.2# 
So I added the required line to dovecot.conf:
default_login_user = _dovenull
and voilà (pardon my French). I ran over to the lovely Carol's desktop computer and restarted Mail.app; 80 new messages.

Praise God from whom all blessings flow! Thus is #4 solved.

Updating mac mini from snow leopard to Yosemite

I need to run Quicken on the lovely Carol's mac mini, so I ran over to OfficeMax and picked up a copy of Quicken 2015, on sale with $10 off. I wish I had remembered my $15 off gift card, which I guess will have to wait for another trip.

I ran the installation script and learned the awful truth: Quicken requires Mac OS X 10.7 or later, and we were running 10.6.8 or thereabouts on the mini. Today, of course, you can't upgrade to 10.7 (at least not easily); you upgrade to Yosemite. Having read stories of angst and annoyance, I wasn't looking forward to the update process, but I plunged ahead.

First, I had an argument with the app store, which insisted I add "security" questions. I'll spare you the rant. Then I started the download. Some hours later, the download was complete and I started the installation. The whole thing, start to finish, was done Saturday, probably within twelve hours.

Sunday

However, I somehow noticed that we weren't fetching email from our ISP's server. I don't remember how I decided this (it was a long time ago—last night). After a good night's sleep, I took a look at the computers this morning. My Linux box was OK to start, and I was delighted to find that the mac mini was serving NFS just fine. Even the mini's POP server was running.

So why weren't we fetching email from our ISP? A little detective work revealed that unlike with snow leopard, fetchmail isn't installed on Yosemite. To wit:

mini1:~ collin$ uname -a
Darwin mini1.local 14.0.0 Darwin Kernel Version 14.0.0: Fri Sep 19 00:26:44 PDT 2014; root:xnu-2782.1.97~2/RELEASE_X86_64 x86_64
mini1:~ collin$ type fetchmail
-bash: type: fetchmail: not found
mini1:~ collin$ 
Well. I thought I would update ports so I became root and fumbled around a bit:
bash-3.2# port selfupdate
Warning: port definitions are more than two weeks old, consider using selfupdate
--->  Updating the ports tree
--->  Updating MacPorts base sources using rsync
MacPorts base version 1.9.1 installed,
MacPorts base version 2.3.3 downloaded.
--->  MacPorts base is outdated, installing new version 2.3.3
Installing new MacPorts release in /opt/local as root:admin; permissions 0755; Tcl-Package in /Library/Tcl

Error: /opt/local/bin/port: port selfupdate failed: Error installing new MacPorts base: shell command failed
bash-3.2# ^D
Hrmpf. Ran a web search, which led me to this stackoverflow article which in turn pointed me to a blog entry that mentioned the XCode command line tools: apparently I need to open the XCode preferences pane.

But first I needed to install XCode, which I'm doing now... done. Next:

bash-3.2# port selfupdate
--->  Updating the ports tree
--->  Updating MacPorts base sources using rsync
MacPorts base version 1.9.1 installed,
MacPorts base version 2.3.3 downloaded.
--->  MacPorts base is outdated, installing new version 2.3.3
Installing new MacPorts release in /opt/local as root:admin; permissions 0755; Tcl-Package in /Library/Tcl

 
The ports tree has been updated. To upgrade your installed ports, you should run
  port upgrade outdated
bash-3.2#
So I did that and saw several times the admonition that
bash-3.2# port upgrade outdated
Warning: The Xcode Command Line Tools don't appear to be installed; most ports will likely fail to build.
Warning: Install them by running `xcode-select --install'.
H'm... Not sure. I looked at the Xcode preferences panel, as Well, fools rush in where wise men fear to tread, so following the previous link ... but the preferences panel doesn't have anything about the command line tools. Another web search led to this set of instructions, which don't work, either. :(

Following this link I tried to simply snag fetchmail using mac ports.

bash-3.2# port install fetchmail +ssl 
Warning: The Xcode Command Line Tools don't appear to be installed; most ports will likely fail to build.
Warning: Install them by running `xcode-select --install'.
--->  Computing dependencies for fetchmail
Error: Dependency 'libcomerr' not found.
To report a bug, follow the instructions in the guide:
    http://guide.macports.org/#project.tickets
Error: Processing of port fetchmail failed
bash-3.2# 
At this point, it was time to stop and make dinner.

Monday morning

Okay, I'm going to give up on ports for now because I found this set of instructions which informs me that
fetchmail ceased to be bundled with server a while ago (it was last bundled with Lion), but it still works.
So I downloaded the archive fetchmail-6.3.26.tar.xz from the sourceforge site and said this on my Linux box (I'm not sure if the Mac tar groks xz): tar -xJf ~/Downloads/fetchmail-6.3.26.tar.xz. Then, back on the mac mini:
mini1:fetchmail-6.3.26 collin$ ./configure && make
checking build system type... x86_64-apple-darwin14.0.0
checking host system type... x86_64-apple-darwin14.0.0
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... ./install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
…
mv -f .deps/odmr.Tpo .deps/odmr.Po
gcc  -g -O2   -o fetchmail socket.o getpass.o fetchmail.o env.o idle.o options.o daemon.o driver.o transact.o sink.o smtp.o idlist.o uid.o mxget.o md5ify.o cram.o gssapi.o opie.o interface.o netrc.o unmime.o conf.o checkalias.o lock.o rcfile_l.o rcfile_y.o norm_charmap.o  pop3.o imap.o etrn.o odmr.o     libfm.a    -lresolv
( echo '#! /bin/sh' && echo 'exec /usr/bin/python /usr/local/lib/python2.7/site-packages/fetchmailconf.py "$@"' ) >fetchmailconf && chmod +x fetchmailconf || { rm -f fetchmailconf ; exit 1; }
Making all in po
mini1:fetchmail-6.3.26 collin$ echo $?
0
mini1:fetchmail-6.3.26 collin$ sudo make install
Password:
/Applications/Xcode.app/Contents/Developer/usr/bin/make  install-recursive
Making install in .
test -z "/usr/local/bin" || ./install-sh -c -d "/usr/local/bin"
  /usr/bin/install -c fetchmail '/usr/local/bin'
test -z "/usr/local/bin" || ./install-sh -c -d "/usr/local/bin"
 /usr/bin/install -c fetchmailconf '/usr/local/bin'
test -z "/usr/local/share/man/man1" || ./install-sh -c -d "/usr/local/share/man/man1"
 /usr/bin/install -c -m 644 'fetchmail.man' '/usr/local/share/man/man1/fetchmail.1'
 /usr/bin/install -c -m 644 'fetchmailconf.man' '/usr/local/share/man/man1/fetchmailconf.1'
test -z "/usr/local/lib/python2.7/site-packages" || ./install-sh -c -d "/usr/local/lib/python2.7/site-packages"
 /usr/bin/install -c -m 644 fetchmailconf.py '/usr/local/lib/python2.7/site-packages'
Byte-compiling python modules...
fetchmailconf.py
Byte-compiling python modules (optimized versions) ...
fetchmailconf.py
Making install in po
if test "fetchmail" = "gettext-tools"; then \
   .././install-sh -c -d /usr/local/share/gettext/po; \
   for file in Makefile.in.in remove-potcdate.sin quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot   Makevars.template; do \
     /usr/bin/install -c -m 644 ./$file \
       /usr/local/share/gettext/po/$file; \
   done; \
   for file in Makevars; do \
     rm -f /usr/local/share/gettext/po/$file; \
   done; \
 else \
   : ; \
 fi
mini1:fetchmail-6.3.26 collin$ echo $?
0
mini1:fetchmail-6.3.26 collin$ type fetchmail
fetchmail is /usr/local/bin/fetchmail
mini1:fetchmail-6.3.26 collin$ 
OK, now does it work? I became "postman" and said
mini1:~ postman$ fetchmail
115 messages for cpark at see.postman.fetchmailrc.invalid (4437146 octets).
reading message cpark@localhost:1 of 115 (3264 octets) flushed
reading message cpark@localhost:2 of 115 (14305 octets) flushed
reading message cpark@localhost:3 of 115 (2974 octets) flushed
…
reading message cpark@localhost:113 of 115 (102452 octets) flushed
reading message cpark@localhost:114 of 115 (38129 octets) flushed
reading message cpark@localhost:115 of 115 (33972 octets) flushed
mini1:~ postman$ 
Nice. But I'm not seeing any mail :(
mini1:~ collin$ ls Mail/new
mini1:~ collin$ ls -ot Mail/cur|head -n4
total 66872
-rw-r--r--  1 collin      334 Jan 19 07:27 1421681270.M564345P8389.mini1.local,S=334,W=345:2,S
-rw-r--r--  1 collin      611 Jan 18 14:24 1421619847.M476474P8389.mini1.local,S=611,W=631:2,S
-rw-------  1 collin    12584 Jan 17 15:48 1421538531.32538_2.mini1:2,S
mini1:~ collin$ date
Mon Jan 19 08:37:18 PST 2015
mini1:~ collin$
Now the mail has got to my backup directory
mini1:~ collin$ ls -o Mail/backup/|grep -c "Jan 19 08:28"
36
mini1:~ collin$ 
so that says we got this far in my .procmailrc
 11 # Back up!!
 12 :0 c
 13 backup/.
 14 
 15 :0 ic
 16 | cd backup && rm -f dummy `ls -t | sed -e 1,128d`
so why didn't it get anywhere else?
Now I have a number of unanswered questions.
  1. Why isn't fetchmail running periodically? It should be going every minute, but it's not.
    mini1:~ collin$ sudo su - postman
    mini1:~ postman$ ls -ot Mail/backup|head
    total 10128
    -rw-------  1 postman  102879 Jan 19 08:28 358256
    -rw-------  1 postman   38546 Jan 19 08:28 358257
    -rw-------  1 postman   34346 Jan 19 08:28 358258
    -rw-------  1 postman    9247 Jan 19 08:28 358250
    -rw-------  1 postman   29631 Jan 19 08:28 358251
    -rw-------  1 postman   78060 Jan 19 08:28 358252
    -rw-------  1 postman    1652 Jan 19 08:28 358253
    -rw-------  1 postman   26749 Jan 19 08:28 358254
    -rw-------  1 postman   93590 Jan 19 08:28 358255
    mini1:~ postman$ ls -ot Mail/backup|grep -c "19 08:28"
    115
    mini1:~ postman$ ^Dlogout
    mini1:~ collin$ ssh sonic ls -ot Mail/backup|head
    total 24264
    -rw-------    1 cpark       59916 Jan 19 09:06 26889
    -rw-------    1 cpark       32443 Jan 19 09:06 26888
    -rw-------    1 cpark        5121 Jan 19 09:01 26887
    -rw-------    1 cpark       75745 Jan 19 08:48 26886
    -rw-------    1 cpark       51549 Jan 19 08:42 26885
    -rw-------    1 cpark       18291 Jan 19 08:29 26884
    -rw-------    1 cpark       33997 Jan 19 08:03 26883
    -rw-------    1 cpark       38197 Jan 19 08:02 26882
    -rw-------    1 cpark      102530 Jan 19 08:00 26881
    mini1:~ collin$ 
  2. I have mail in my Mail/backup, but why not in Maildir/new or Maildir/cur?
    mini1:~ collin$ ls -ot Maildir/backup|head -n5
    total 6920
    -rw-------  1 collin   29533 Jan 19 08:34 92744
    -rw-------  1 collin   23841 Jan 19 08:34 92745
    -rw-------  1 collin    3769 Jan 19 08:34 92746
    -rw-------  1 collin   38595 Jan 19 08:34 92747
    mini1:~ collin$ ls -A Maildir/new
    mini1:~ collin$ ls -A Maildir/tmp
    mini1:~ collin$ ls -ot Maildir/cur|head -n5
    total 66872
    -rw-r--r--  1 collin      334 Jan 19 07:27 1421681270.M564345P8389.mini1.local,S=334,W=345:2,S
    -rw-r--r--  1 collin      611 Jan 18 14:24 1421619847.M476474P8389.mini1.local,S=611,W=631:2,S
    -rw-------  1 collin    12584 Jan 17 15:48 1421538531.32538_2.mini1:2,S
    -rw-------  1 collin    18806 Jan 17 14:26 1421533571.31911_2.mini1:2,S
    mini1:~ collin$ 
  3. The mail gets from postman to my procmail, locally, but why doesn't procmail continue?
    mini1:~ collin$ tail Mail/vlog
    procmail: [42278] Mon Jan 19 08:28:58 2015
    procmail: Executing "sed 1d | formail -I reply-to: -I resent-from: -I return-path: |         formail -rzxTo:"
    procmail: [42290] Mon Jan 19 08:28:58 2015
    procmail: Executing "sed 1d | formail -I reply-to: -I resent-from: -I return-path: |         formail -rzxTo:"
    procmail: [42304] Mon Jan 19 08:28:58 2015
    procmail: Executing "sed 1d | formail -I reply-to: -I resent-from: -I return-path: |         formail -rzxTo:"
    procmail: [42316] Mon Jan 19 08:28:59 2015
    procmail: Executing "sed 1d | formail -I reply-to: -I resent-from: -I return-path: |         formail -rzxTo:"
    procmail: [42330] Mon Jan 19 08:28:59 2015
    procmail: Executing "sed 1d | formail -I reply-to: -I resent-from: -I return-path: |         formail -rzxTo:"
    mini1:~ collin$ 
    The more usual sequence looks like this:
    1617017 procmail: [32538] Sat Jan 17 15:48:51 2015
    1617018 procmail: Executing "sed 1d | formail -I reply-to: -I resent-from: -I return-path: |         formail -rzxTo:"
    1617019 procmail: [32538] Sat Jan 17 15:48:51 2015
    1617020 procmail: Assigning "FROM=jresneck@sungevity.com"
    1617021 procmail: No match on "^From:.*lazarjanet"
    1617022 procmail: No match on "(^((Original-)?(Resent-)?(To|Cc|Bcc)|(X-Envelope|Apparently(-Resent)?)-To):(.*[^-a-zA-Z0-9_.])?)criticalcare@rc5\.us"
    1617023 procmail: No match on "^From:.*@mpbta.org"
    1617024 procmail: Match on ! "^content-type:.*multipart/mixed"
    1617025 procmail: Match on ! "HB ^content-transfer-encoding:.*base64"
    1617026 procmail: No match on "^x-rc5-to: \/.*$"
    1617027 procmail: No match on "(^((Original-)?(Resent-)?(To|Cc|Bcc)|(X-Envelope|Apparently(-Resent)?)-To):(.*[^-a-zA-Z0-9_.])?)biblecollin@rc5"
    1617028 procmail: No match on "^From:.*zhohaome.*parka001"
    1617029 procmail: No match on "(^((Original-)?(Resent-)?(To|Cc|Bcc)|(X-Envelope|Apparently(-Resent)?)-To):(.*[^-a-zA-Z0-9_.])?)cpark\+junk@sonic.net"
    1617030 procmail: No match on "(^((Original-)?(Resent-)?(To|Cc|Bcc)|(X-Envelope|Apparently(-Resent)?)-To):(.*[^-a-zA-Z0-9_.])?)cpark\+tr@sonic.net"
    1617031 procmail: No match on "(^((Original-)?(Resent-)?(To|Cc|Bcc)|(X-Envelope|Apparently(-Resent)?)-To):(.*[^-a-zA-Z0-9_.])?)cpark\+bn@sonic.net"
    1617032 procmail: Assigning "VERBOSE=no"
    1617033 From postman@rc5.us  Sat Jan 17 15:48:51 2015
    1617034  Subject: Collin - New Year, New Rate Hikes - Park - 96922
    1617035   Folder: /Users/collin/Maildir/new/1421538531.32538_2.mini1              12584
  4. Isn't dovecot running? Why can't mail.app connect to it?
    mini1:~ collin$ sudo su - carol
    Password:
    mini1:~ carol$ ls Maildir/new|wc
          88      88    2728
    mini1:~ carol$ 
    Oddly enough, I can connect to dovecot from the Linux box, but not from the mac mini or from an MBA.
So I want to get #4 figured out. And Maybe if I answer #3 then #2 will take care of itself?

More to come...