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.”

Charles Blow New York Times

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 pinboardspotlight.py 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.

Usage

To use pinboardspotlight.py, you’ll first need to install the command line app tag here. Then you can download pinboardspotlight.py 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

What motivates climate change deniers?

The Intergovernmental Panel on Climate Change just released a draft summary of a report to the UN. Unsurprisingly, the panel concluded both that the Earth’s warming is unequivocal but now expressed near certainty that human activity is the cause of the observed and predicted climate shifts.

Given the near universality of scientific opinion on climate change, I’ve begun to wonder what motivates climate change deniers. After all, on most topics, reasonable people who are inexpert in a discipline look to the opinions of experts to gain a better understanding. So what’s behind the extreme rejection of scientific consensus among climate change deniers.

Markdown anchors

TIL how to use anchors in Markdown documents. I needed to use this in a long blog post in my Octopress blog and was stymied.

As usual, I found the answer on Stack Overflow.

Beam me [up](#enterprise), Scotty

<a id="enterprise"></a>

It’s a great way to move around in longer content.

2014-03-03: I no longer publish using Octopress; but this should work in most cases where Markdown is used. Bitbucket is a notable exception. For Github wiki, you’ll need something like:

ADC for Raspberry Pi

I’m working on launching a high-altitude balloon later this year with a Raspberry Pi serving as its flight computer. The Raspberry Pi is an excellent tool because it allows you to do most common tasks at a higher level of abstraction than other MCU platforms. However, it lacks at least one of the major conveniences of MCU’s like the AVR that I’m accustomed to working with - the analog-to-digital converter (ADC). In this article, I’ll describe one solution to the missing ADC, albeit a little complex. For this project, I’m using an ATTinyx61 to serve as the ADC, communicating with the RPi as a slave on the I2C bus.