Mute speaker for 30 seconds during iTunes radio commercial

I’ve recently started listening to iTunes Radio.  It has ::shudder:: commercials.  Ick.  They’re typically 30 seconds, near as I can tell, and you can’t skip them.  I’ve started hitting “mute” as soon as they come on.

But I frequently forget to “unmute”.  Oops.

So I wrote an AutoHotkey script to mute the master speaker for 30 seconds, then automatically unmute it.

; Shift-Control-Alt-F9 -- Because "FN-F9" is the special "mute"
; button on my keyboard, so this is easy to remember
  ; mute the master volume setting
  SoundSet, 1, Master, Mute
  ; display a msg box for 1 second that says you're muting for 30 seconds
  Msgbox,, Commercial, Sound is muted for 30 seconds, 1
  ; sleep for 29 more seconds
  Sleep, 29*1000
  ; unmute the master volume setting
  SoundSet, 0, Master, Mute
  ; and return


Update 2014/02/21: This script has come in handy many times already just today.  Life is good.  ðŸ™‚

Monitoring pipes in Linux

Have you ever said

gzip file > /path/to/an/nfs/drive/file.gz

and wondered how far it’d gotten?  I did that just today, more or less.  I poked around for something that’d tell me how far gzip had gotten, and found pv (

From the pv manpage:

pv allows a user to see the progress of data through a pipeline, by giving information such as time elapsed, percentage completed (with progress bar), current throughput rate, total data transferred, and ETA.

To use it, insert it in a pipeline between two processes, with the appropriate options.  Its standard input will be passed through to its standard output and progress will be shown on standard error.

pv will copy each supplied FILE in turn to standard output (- means standard input), or if no FILEs are specified just standard input is copied. This is the same behav‐ iour as cat(1).

A simple example to watch how quickly a file is transferred using nc(1):

pv file | nc -w 1 3000

A similar example, transferring a file from another process and passing the expected size to pv:

cat file | pv -s 12345 | nc -w 1 3000

A more complicated example using numeric output to feed into the dialog(1) program for a full-screen progress display:

(tar cf - . 
| pv -n -s $(du -sb . | awk '{print $1}')
| gzip -9 > out.tgz) 2>&1
| dialog --gauge 'Progress' 7 70

Frequent use of this third form is not recommended as it may cause the programmer to overheat.

I like that last line.  ðŸ™‚

And so now I have

#pv a_large_file | gzip > /mnt/backup/a_large_file.gz
4.41GB 0:08:56 [12.2MB/s] [==> ] 31% ETA 0:19:09


Administrative notes, 2/18/14

I really dislike the Movable Type rich text editor.  Need to find some alternative.
Also, comments are still broken; haven’t been able to figure out why.  ðŸ™  Actually, I think what’s broken is creating an account, or logging in to your account.  But since I require that to comment, it boils down to the same thing.  I won’t be turning that off; too much spam otherwise.  (Any is too much.)
Should probably just reinstall it or change to some other platform.  I think that’d be my, what, third?  Fourth?  I dunno.  Well, it’s not like I blog much anyway.  Or have too many readers.  So far as I know, he said archly.  As I mentioned, comments are broken; if you read this blog, please feel free to drop me a line at, or tweet me at @lispyperl.  I’d love to hear from you.
Even further aside: I’ve gotten away from both Lisp and Perl (sort of — I still do mostly Perl at work), and into Go (#golang).  So “lispyperl” is less apropos than it used to be.  On the other hand I still like Lisp, I just have no plans to actually use it any more, alas.  (My loss, the Lispers would say.  ðŸ™‚

Tiny Habits for 2/18-23

Tiny Habits is a program from BJ Fogg that teaches you a practical process to create new habits.  I did his program last week and enjoyed it a lot.

Here are mine for this week, 2/18-23

  1. After I sit down at my computer, check Wunderlist
  2. After I sit down at my computer, close Facebook, blog, Twitter, what-have-you.
  3. After I stand up from my computer, put something away.
Hat tip to my friend Tom for the first one.

A rebuttal to “Should You Trust the Monkey Mind?”

A friend of mine posted this on Facebook: Should You Trust The Monkey Mind?

Surprise, I think it’s a crock of shit.
“With me the horrid doubt always arises whether the convictions of man’s mind, which has always been developed from the mind of lower animals, are of any value or at all trustworthy,” wrote Charles Darwin. “Would any one trust in the convictions of a monkey’s mind, if there are any convictions in such a mind?”

This is speciesism, or, if you like, plain old bigotry.  It’s the opposite of the fallacy of argument from authority.  Just because a monkey comes to some conclusion doesn’t make it wrong.  I’m gonna guess that most monkeys kind of think it’s wrong (if they “think”, as such, at all) to let ants eat them.   Other things being equal, I trust that conviction!  Call me crazy.

Other convictions of theirs I might agree or disagree with, but not strictly because the conviction comes from a monkey.

If evolution is a non-teleological process, it undercuts our ability to trust that we can form true beliefs and convictions.

This is the core argument, and it’s stupid.  The fact that evolution has no final cause or definite end (that is, it’s non-teleological) has no bearing on whether non-evolved ideas are true or not.  (This is aside from the question of can an idea evolve, in the biological sense, over generations, at all.  Maybe it can, maybe it can’t; I’m not sure either way.)

But can a strictly materialistic, non-teleological, evolutionary process produce such reliable equipment?

If it didn’t, how would we know?

And what does whether it’s teleological have to do with anything?

The philosopher Alvin Plantinga, one of the greatest thinkers of our era, thinks the answer is “no.”

Plantinga.  I should’ve stopped reading there.

What does imply that life is not directed, he adds, is not evolutionary theory itself, but the theory of unguided evolution: the idea that “neither God nor any other person has taken a hand in guiding, directing, or orchestrating the course of evolution.” For our purposes, we’ll call this view “evolutionary naturalism.”

An important definition for what follows.

Evolutionary naturalism assumes that our noetic equipment developed as it did because it had some survival value or reproductive advantage. Unguided evolution does not select for belief except insofar as the belief improves the chances of survival. The truth of a belief is irrelevant, as long as it produces an evolutionary advantage.
This is the core of the argument, and contains the core equivocation, to wit, it conflates evolved beliefs with a specific idea.  (Though again, I’m unclear on whether evolved beliefs are even possible.)
The point of all this is that Zed’s noetic equipment does not need to produce true beliefs for him to survive. This is true for all four types of belief unguided evolution can produce. Since this holds true for even the most basic survival behavior, it is especially true for abstract ideas  — idea like “evolutionary naturalism.”

There’s the leap, there in the last sentence.  The implicit assertion that belief in “evolutionary naturalism” is an evolved belief.  I think that’s a fairly ridiculous idea.  (And, in fact, here I am ridiculing it, haha.)

If, as evolutionary naturalism claims, our noetic equipment might have developed in different ways, then a belief in evolutionary naturalism itself could be any of the four types of belief listed above. 

There it is again.

What is the likelihood that evolutionary naturalism has produced in us cognitive equipment able to reliably form true beliefs and know that they are true? Extremely low.

“Extremely low” based on what?  The previous text of the article?  No, that doesn’t follow.

In order to accept the naturalistic evolutionary explanation for the development of our noetic equipment we have to be agnostic about its reliability. All we would really know is that it works for evolutionary purposes, not for the purposes of discerning truth from falsehood. Evolutionary naturalism, it turns out, is a self-defeating argument. If we believe the theory, we have no reason to believe the theory is true.

The conclusion wraps all the crap up in a ball, again conflating the theory of naturalistic evolution, as such, with all evolved ideas, and also with the ability to form beliefs.

And besides, the last two are just wrong; to repeat:

Evolutionary naturalism, it turns out, is a self-defeating argument. If we believe the theory, we have no reason to believe the theory is true.

… But we have no reason to believe it’s false, either.

So to wrap all my crap up in a ball: This article plays fast and loose with the distinction between evolved ideas, all ideas, and a specific idea.  It argues that an evolved belief need not be true to have a survival advantage (with which assertion I agree), and then uses that truth to argue fallaciously that even if we “believe” in evolution, we have no reason to believe that it’s true.

Email: “Your website is broken on my iPhone”

I got an interesting email from one Larry Peek, claiming that is broken on his iPhone, with a link to a picture of how it does look.

It looks exactly the same, barring a change in width.
I started to reply, but instead I just (admittedly somewhat maliciously) reported him as spam.
Today is not a good day to send me alarming and yet false emails about my website, or in fact anything at all.

QFTD, 6/20/13

From Manager Tools email “Things I Think I Think”.
If you don’t know exactly how your work is noted and valued by a paying customer, you’re not thinking clearly, or you’re too far away from the customer.
Quoting Drucker: Results only exist on the outside.  Inside an enterprise, there are only costs.

This applies to both for-profit and non-profit enterprises.