The local newspaper editor again exhorted us to "Shop Local This Christmas!" Frigging moron. If A has been selling to B and B selling to A, and then A decides that he should be buying from C, because C is "local" (whatever THAT means), then B can't afford to buy A's stuff anymore, so A runs out of money to buy from C. "Oh, but C has started buying from A." Maybe. Maybe not. You're waving your hands at a coordination problem which is not so easily solved. And so what of it? What if B's stuff is better than C's stuff, so that A has now made himself worse off by "local" trade. How does this make A better, when A has to make a worse choice? If shopping "local" does not produce an immediate benefit to A, they shouldn't do it. They should continue to buy from B.
Whatever benefits anybody construes from "local" shopping, they should be reflected in the price. This let people weigh the advantages of "local" shopping versus "remote" shopping. And yet this is exactly what happens when shipping charges are assessed (and don't be confused by "free" shipping, which is merely included in the price). If "local" is better than "remove", it will be because the product is better or cheaper.
You may wonder why I've been putting "local" and "remote" in quotes. Well, exactly what does "local" mean? Does it mean on your block? In your neighborhood? In your community? In your city? State? Country? When does local become remote? What if you live on the border such that crossing into the next level of remoteness is actually more local than remote?
Eventually, any rational definition of "local" devolves into shipping cost, so that telling people they should "Shop Local" just means that people should save money on their shipping costs. Well duh! Or maybe they should save money by buying the plain one rather than the fancy one? Or maybe they should buy in bulk? Or .... well, it's clear at this point that "local" is just another word for "you should sit down, shut up, stop thinking and do what I say."
If you want me to do that, you're going to have to persuade me. And so far, "Shop Local" hasn't persuaded me.
posted at: 03:57 | path: /economics | permanent link to this entry
I'm a member of the Adirondack Mountain Club. They ("we", I guess, rather) have taken the position that carbon dioxide is a pollutant equal to mercury, sulfur dioxide, and nitrogen oxide. First, carbon dioxide is plant food. Warmer temperatures mean a longer growing season. Fifty years from now, we'll be arguing whether currently barren mountaintops should have the trees cut back to preserve the view.
Second, carbon dioxide is only a possible problem. Mercury, sulfur dioxide, and nitrogen oxide are known to be pollutants with bad effects on all living beings. Let's worry about the real and now, and leave future fears to themselves.
Third, the climate changes all the time, sea levels rise and fall, and glaciers come and go. It's foolish and pointless to worship the climate of our childhood, just as it is to worship the music stars of our childhood. That was then, this is now. Grow up and deal with today's world. Right now, the world is warming. That's good! Life is easier when it's warm. Someday it will be cold again. Start worrying now -- avoid the rush!
posted at: 04:24 | path: /economics | permanent link to this entry
It looks like peace has finally come to Iraq. One could say that peace has broken out, but that ignores the presence of U.S. troops. Yes, there are still people dying in Iraq due to violence, but every major U.S. city has a non-zero murder rate, and we don't call that a war. One can ascribe different reasons for the ending of the war. No doubt those who believe in the efficacy of violence can reasonably call it a victory, down to picking November 22, 2008 as Victory in Iraq day. I prefer, instead, to say that the Iraqis have lost faith in the efficacy of violence.
posted at: 17:12 | path: /economics | permanent link to this entry
Stuff to bring on my next trip:
UPDATE 11/25: MJ Ray points me to his USB charging story.
posted at: 04:22 | path: /economics | permanent link to this entry
Sigh. The people who insist that trade is better when local drive me loco. Why do people feel compelled to reinvent economics, badly? Trade is good; more trade is better. You get ahead by specializing; by doing what you're best at, and trading for the rest.
Where does "local" come into that? How does your distance to me turn your product into something intrinsically better than somebody who has a product which I like more? Sure, shipping has a cost, but that (obviously) already biases trade in favor of the local. Why is it necessary to further bias trade in favor of people around you? Because they'll trade with you? But that presumes the answer that local trade is better than remote trade.
A bias in favor of the local is similar to a bias in favor of purple. If you want to buy mostly purple-colored products, fine, go ahead. Feel free. I won't stop you. But don't try to claim that purple products will make me a better person, make my community better, cure aids, and create world peace. They just won't. There's nothing magic about the color purple. Nor is there about local trade. It's just an irrational preference that requires sacrifice on your part, not a favorable attribute.
To see this, split your community in half. Half is on one side of the river, half on the other, and the bridge now needs to be rebuilt. The "Easties" are not local to you "Westies" anymore. They're now on the other side of the river, and to get there you have to drive a distance twenty times the distance across the bridge. Should you not trade with them because they're not local? Are you making your side of the river any better simply because you refuse to trade with the people on the other side of the river? What's wrong with them? Why do you hate them so much that you won't trade with them now that they're less local to you?
Can you see from this example that the difference between local and remote trade is simply a matter of opinion? That the only difference between local and remote trade is the cost of shipping? That there is a cost to drawing an arbitrary line and not trading with anyone remote? And that the cost of shipping is a reason to prefer local, but that is built into the price and will get weighed against all your other preferences, for size, weight, quality, quantity and, yes, purpleness.
posted at: 04:18 | path: /economics | permanent link to this entry
36.96 km 121250.99 feet 22.96 mi 10111.00 seconds 168.52 minutes 2.81 hours 8.18 mi/hr
Went for a mid-afternoon ride on the Rutland Trail. This time of year I usually avoid it because of the potential for hunters shooting me. I did see a hunter, standing very quietly and still next to his ATV, so I just nodded and rode past.
The foot of heavy early snow we got late in October did some nasty damage to the trail. Lots and lots of trees downed across the trail. Somebody went through and cut them all. It must have been a lot of work, because some of those trees were a foot in diameter. Thank you, whoever you are!
The beaver who's been busy (as, well, a beaver) at the big wetland has raised the level of his dam to the point where the water is no longer going over his dam, but is instead going over the embankment. It's going to do a lot of damage unless it's stopped. Easiest way to do that is to dump a big pile of dirt there to raise the level so the water goes over the dam again. I don't have the equipment to accomplish that, so I hope that somebody else will.
posted at: 03:14 | path: /bicycling | permanent link to this entry
Do I have too many GPS receivers? A Delorme Earthmate (RS-232), a Navman 3000 sleeve for an iPAQ, a Delorme USB receiver, a bluetooth combination compass and receiver, a Nokie n810, a Garmin foretrex 201, an el-cheapo USB GPS receiver for my OLPC XO.
And if you want to count cellphones, my OpenMoko will spit out NMEA.
posted at: 17:15 | path: /life | permanent link to this entry
The marching morons are all in favor of Equality. We know this. We also know that because people are different, Equality is a code word for chopping the bits off everyone that do not fit into their mold. Inequality is the nature of diverse humans. Even the Equality morons end up having to acknowledge this. These particular morons (local copy, fair use for commentary) have broken into a run.
Pay particular attention to the last bit, where they say:
Because of feedback we have received from my last email, combined with the wish to make the conference available to as many people as possible. To meet this need we have changed the costing structure. Based on an idea from "Radiohead" we are asking people to make us an offer reflecting your circumstances and what you consider the conference is worth.
HAR! The magnitude of the irony is simply beyond belief. Moron is as moron does, I suppose.
posted at: 16:11 | path: /economics | permanent link to this entry
I left this message for President-Elect Obama:
The minimum wage helps a lot of people, but it causes permanent unemployment for anyone whose labor is not worth the minimum wage. Can it be moral to help the less-well-off by hurting the least-well-off? Can it be moral to give money to some by taking away the jobs of others? I cannot believe that Obama would think it moral.
Please tell him to delegislate the minimum wage. Very few people earn it anyway, and it will create jobs for those who have none.
Somehow, I doubt that Obama is moral enough to do that.
posted at: 01:32 | path: /economics | permanent link to this entry
What about the Oil Speculators? Remember just a few short weeks ago when every Person of Good Will was decrying those horrible oil speculators who were driving up the price of oil? The nature of speculation is such that you lose your money if the price goes the other way. They've lost a LOT of money since then.
Everybody was angry at the speculators. Does anybody feel sorry for them now? Do you feel like "Well! They got what they deserved!"? Okay, so let's apply a little logic. If their speculation had been successful, would they have gotten what they deserved? Why do they deserve only losses and never gains? Because speculation is evil? Au contraire! Read on....
The price of various things goes up and down in response to changes in the world. Changing prices makes it hard for people to plan. It's also just plain annoying when you get out exact change, and you find out that it now costs more. Or when you take your goods to market and can't get enough money for them.
The role of speculation is to level off these prices. When something is unnaturally cheap, a speculator will buy it. When something is unnaturally expensive, a seculator will sell it. In this way, the speculator reduces the impact of changing conditions on the prices of things.
posted at: 21:22 | path: /economics | permanent link to this entry
40.12 km 131621.74 feet 24.93 mi 8049.00 seconds 134.15 minutes 2.24 hours 11.15 mi/hr
Went riding around Norwood, NY, to map it for OSM. Unfortunately, my detailed track from the Nokia n810 got lost when it rebooted because my power strip committed hara-kiri.
posted at: 19:53 | path: /bicycling | permanent link to this entry
15.47 km 50760.29 feet 9.61 mi 4008.00 seconds 66.80 minutes 1.11 hours 8.64 mi/hr
Tandem ride with the wife. Basically "just around the block", which for us is a ten mile bike ride.
posted at: 21:18 | path: /bicycling | permanent link to this entry
I think we need less faith in our politicians and more faith in ourselves.
posted at: 20:58 | path: /economics | permanent link to this entry
California's recent election included a citizen-generated Proposition 8, which amends the California state Constitution to restrict marriage to one man and one woman. As you might expect, it was hugely controversial, and if it passes, as is likely, it will be with a percentage or two majority.
Picolopoo got me to blog about this. The problem here is simple; the solution less so. The problem is that you have a social institution and a legal institution coupled together in one name. I completely "get" why some people want to protect the social institution. Marriage is only for one man and one woman, sure, fine.
I less understand why anyone would want to deny legal rights to any group of people who have contracted to live together. What does it mean for "blood relatives" or "immediate family" to have hospital visitation rights? Why should there be inheritance within a marriage have special tax treatment? Why should a step-parent be allowed to pick up a child from school? And ... why should a church be allowed to create a legal arrangement?
I think this legal fight should be over legal rights. The trouble is that "marriage" ties in the social (often religious) arrangement. Perhaps the term "family" is broad enough to include everyone?
posted at: 19:51 | path: /economics | permanent link to this entry
36.98 km 121338.42 feet 22.98 mi 8901.00 seconds 148.35 minutes 2.47 hours 9.29 mi/hr
Went exploring. Found an old road going past a state forest, with an old cellar hole belonging to the farm from which the state forest was created.
posted at: 06:14 | path: /bicycling | permanent link to this entry
31.32 km 102765.41 feet 19.46 mi 6968.00 seconds 116.13 minutes 1.94 hours 10.06 mi/hr
Went for a ride around Clarkson and Potsdam State, checking out road names for some OSM editing.
posted at: 00:54 | path: /bicycling | permanent link to this entry
I've experimented with keeping an audio recording in addition to a GPS track of my bicycle rides. The trouble with a continuous audio recording is that 1) it's long, 2) it's boring, and 3) the interesting things are hard to seek to. If you could do reliable speech recognition, you could say a word like "mark" or somesuch. However, in my experience, street noise is going to kill you.
Better than that, you detect a whistle. The code below will print the duration of the whistle, the time from the beginning of the audio recording, and the pitch of the whistle. The purpose of this is to be able to do continuous audio recording, and yet be able to take a waypoint with an audio annotation.
#!/usr/bin/python
import sys
import wave
import struct
def findwhistle(inwave):
"""given an open wave file, return an array which consists of the times
whenever a whistle was found."""
framecount = 0
zerocross = 0
lastzerocross = 0
zerocrosssum = 0
zerocrosscount = 0
sign = 1
while True:
frames = inwave.readframes(100)
if len(frames) == 0: break
frames = struct.unpack("<100h", frames)
for i, sample in enumerate(frames):
if sign * sample > 0:
zerocross += 1
else:
if abs(zerocross - lastzerocross) <= 1:
zerocrosssum += zerocross
zerocrosscount += 1
else:
if zerocrosscount > 100:
print '! %4.2f %4.2f %5.0f' % ( zerocrosssum / 8000.0, (framecount + i - zerocrosssum) / 8000.0, zerocrosscount / (zerocrosssum / 8000.0))
zerocrosssum = 0
zerocrosscount = 0
#print zerocross
sign = -sign
lastzerocross = zerocross
zerocross = 1
framecount += len(frames)
return framecount / 8000.0
def main():
f = wave.open(sys.argv[1], "r")
print f.getparams()
print findwhistle(f)
if __name__ == "__main__":
main()
posted at: 05:46 | path: /opensource | permanent link to this entry