Thu, 31 Mar 2005

Ride starting Thu Mar 31 14:32:01 2005

26.56 km 87141.16 feet 16.50 mi 5488.00 seconds 91.47 minutes 1.52 hours 10.83 mi/hr

It must be spring. For one, today was a shorts day. According to the airport temperature in Massena, it's 63 degrees. According to the thermometer out back, it's 53 degrees. Either way, it was a fabulous day. And I saw two Canada geese flying north. Well, actually, they were flying south, but you know what I mean.

Posted [16:16] [Filed in: bicycling] [permalink] [Google for the title] [digg this]

Wed, 30 Mar 2005

Ride starting Wed Mar 30 15:26:47 2005

13.12 km 43047.04 feet 8.15 mi 2670.00 seconds 44.50 minutes 0.74 hours 10.99 mi/hr

Just the standard out and back ride. Saw one deer and one rabbit and got barked at by a lot of dogs.

Posted [16:19] [Filed in: bicycling] [permalink] [Google for the title] [digg this]

Sun, 27 Mar 2005

Ride starting Sun Mar 27 17:32:07 2005

16.76 km 54978.21 feet 10.41 mi 3979.00 seconds 66.32 minutes 1.11 hours 9.42 mi/hr

Bicycled to Quaker meeting because it was such a beautiful day.

Posted [19:32] [Filed in: bicycling] [permalink] [Google for the title] [digg this]

Total speculation on why Atkins works

The following is a set of facts on which I speculate. Yeah, I'm making my conclusion up. It fits the facts of which I'm aware, but that doesn't mean that I know all the facts, or that there isn't a better theory.

It's been proven through dietary testing that the Atkins diet (extremely low carbohydrates initially, followed by a slow ramping back of low-glycemic carbs) works. They catered in a bunch of people's meals, with some of them cooked regularly and the others cooked with lower carbs. The foods were carefully regulated as to caloric value. The low-carb diet was more effective at helping people lose weight even though the number of calories was identical.

So, the key feature of the Atkins diet is the training period. What is being trained, you ask? Well, did you know that there are enough ganglia in your gut for it to qualify as a second brain? There's a reason why digestion continues with no attention from your brain -- because it's being processed by a second brain in your gut. That's why Terri Schaivo is able to live even though her forebrain (the part of the brain that made Terri Terri) is non-functional. Interestingly, the brain in your gut is sophisticated enough to be trained. Unfortunately, no, I don't have a cite for that.

Now comes the speculation: that the Atkins diet trains your gut to stop relying on carbs for energy, but instead that it should expect a supply of fat that it should learn to burn efficiently instead. Your gut responds by changing the mix of chemicals in your gut so that the energy in fat is the target of digestion rather than the energy in carbs.

Hat tip to Jacqueline Mackie Paisley Passey, for whom the Atkins diet is working.

Posted [00:58] [Filed in: life] [permalink] [Google for the title] [digg this]

Thu, 24 Mar 2005

Ride starting Thu Mar 24 16:01:07 2005

Warmer day, longer ride. It was probably up to 40 degrees F. Went looking for a place to run fiber optic cable through the woods to Rt. 11. Gotta get bits back to my house somehow.

Posted [18:08] [Filed in: bicycling] [permalink] [Google for the title] [digg this]

Tue, 22 Mar 2005

Ride starting Tue Mar 22 17:32:44 2005

First ride of the season. Not very ambitious; just to the end of the road and back. A little late and a little cold to do much more than that.

Posted [18:21] [Filed in: bicycling] [permalink] [Google for the title] [digg this]

Thu, 17 Mar 2005


I've been doing a lot of work lately on mapping. If you go look at the bicycling category, you'll see some of it. I need to improve the programs that make those maps, but once I'm satisfied with them I'll publish them here. Most generally I want to do GIS-style analysis of maps, only without using a GIS package. The most capable open source GIS package is GRASS, but it has an incredibly steep learning curve. I've tried to learn to use it twice now, and can't get up the slope. It's easier to write my own software than to learn to use GRASS. So that's what I'm doing, and you'll find all of my Python GIS software at pygps.

In particular, today I'm releasing the LatLonUTMconversation library. It converts (predictably enough) between latitude and longitude and UTM coordinates. A GPS receiver will give you lat/lon, but UTM (Universal Transverse Mercator) coordinates are more useful. For one, you can compute distances using them, since each integer UTM tick is one meter. For another, you can locate a point on a map by simple subtraction and division by the scale of the map.

Posted [17:51] [Filed in: gis] [permalink] [Google for the title] [digg this]

Learn Something New Every Day!

I had suspected that there was a northward-heading railroad in Pulaski, but hadn't found any details. I had already noticed the arches to the west of the bridge north of the junction. I also noticed the railbed-ish area in front of people's houses to the north of that. So, I had my suspicions. Did a bit of searching on the aerial photos, and yup, there it is! It's the Syracuse Northern Railroad. Went straight through Pulaski to Sandy Creek. Curved around to the east and met up with the RW&O at Lacona. So, just as I'd always suspected, the curve south of Pulaski used to be a crossing of two competing railroads.

UPDATE: Dick Palmer wrote an article on "Oswego County Railroads" published by the Oswego County Historical Society in 1962. He tells me that the Syracuse Northern line opened 1872, and was abandoned from Pulaski to Lacona in 1882. The engine house was located at Sandy Creek. It's also discussed in Hungerford's History of the RW&O (1927). One of Sam Sloan's first acts was to get rid of it. The line was considered redundant and was torn up despite protests. There is a birdseye view of Pulaski showing the stone bridge over Salmon River. House in back of courthouse was the depot (if it's still there). There's no listing in Existing Railroad Stations for Pulaski.

Posted [10:23] [Filed in: railroads] [permalink] [Google for the title] [digg this]

Wed, 16 Mar 2005


I think that, now that OSI has voted in five new board members (only one from the US), this new international perspective is getting under our skin. For example, when we rang off the conference call this morning, we all said "Cheers".

Posted [11:11] [Filed in: opensource] [permalink] [Google for the title] [digg this]

A Classic fire

We heat our house with a Classic outdoor wood stove. It keeps the bark, bugs, dirt, and ashes outside, while providing us with a renewable source of heat. We fill it once a day, even in the coldest weather (-30F). About every two months it needs to be emptied of ashes. I let it burn down, stir it, burn down, stir, etc. Takes about a day for the fire to die down if you give it no fuel. Today was one of those days.

There's a bit of a trick to feeding the furnace. First, you need to be careful not to throw a log so it covers the air intake hole. If you do that, all that happens is you get hot wood; no air, no combustion. Second, you also need to not cover the ashes with the flat part of the wood. When you're refilling the furnace, it typically has coals buried in the ashes. A good stir will bring them up, but if you bury them underneath the wood, you'll just put them out and the fire won't catch. To keep a fire going, you need to make sure that the air circulates around the wood. I make sure that the bottom layer is laid pointy end down, so that the coals will heat up the exposed face of the wood.

The same applies to starting a furnace emptied of ash. I start with a pair of logs split at right angles. I put them with the flats down so that the remaining split face faces the other, about 3" apart. Bridging those two goes a thinly split strip of wood cut in half. It's cut in half because otherwise it's too long and hangs over the edges of the pair of logs. If it hangs over the edges, they'll shift when you put more wood in. Into the space between the logs, I put some cardboard curled up. If you leave the cardboard flat, it doesn't have enough fuel and it can fall flat, which prevents air from getting to it. On top of the cardboard I laid a bit of Christmas tree saved for firestarting purposes. On top of that I placed several dead coals I found in the ashes I had cleaned out. They have a fair bit of heat left in them and they're quite combustible. And into and around the cardboard I placed strips of birch bark I pulled off some of the logs.

Can you tell I was a boy scout when I was young? Needless to say, with all that preparation, the furnace fire lit with one match.

Posted [01:17] [Filed in: life] [permalink] [Google for the title] [digg this]

Tue, 15 Mar 2005

On the probability of past events

Apparently, creationists are trying to use probability to prove that life did not come from not-life (that abiogenesis is impossible). They refer to a "Borel's law" as proof. This is a philosophically empty idea. Evolutionists should not accept the idea that probability analysis can have any relationship to something that has already happened. The creationists are trying to argue that something which manifestly happened -- abiogenesis -- could not have happened because it was too improbable.

Philosophically, that is like saying that once you flip a coin, the coin cannot be in either state because both are improbable. Obviously, you can look at the coin and see that it indeed is either heads or tails. The creationist would say "No, no, the probability has to be much smaller to say it's impossible. That's Borel's law." No, that's nonsense.

Let's say that you want to show that something is impossible because the probability of its happening is too small. Let's pick some number, 1 of N. Make N large enough that you are satisfied that it is impossible for that event to occur. Now, flip M coins such that 2^M > N. The probability of that exact combination of flips is sufficiently small that it could not have happened. And yet, it manifestly did happen. You can look at the coins and verify that they have been flipped.

The creationist would say "No, no, that's not our argument at all. Only one particular combination of coins will result in life." So what? Obviously, we are having this discussion; we are alive; the past event, however improbable, occurred. Let's say that you believe in the branching universe theory -- where every possibility has been taken and there are correspondingly many universes. In all the universes in which life didn't happen, there is no controversy because there is no life. There are unspeakably many universes in which there is no life; there are also unspeakably many in which there is. The improbability of it all is a moot point. It happened. Deal with it. Don't try to rewrite history with some entity capable of violating the physical laws of the universe.

UPDATE: TM Lutas comments. Matt Cline disagrees with TM.

Posted [12:22] [Filed in: life] [permalink] [Google for the title] [digg this]

Sun, 13 Mar 2005

Color Ortho Quads in NY

I recently found out that (somebody) created color orthographic quads of New York State. Look for your county on the NYS GIS site. Naturally, instead of publishing them in a lossless open format, they're published in the proprietary MrSID format. This is a wavelet form of compression similar to JPEG2000. There's a decoder called mrsiddecode which creates .tiff or .jpg files as you wish.

I'm in St. Lawrence County (below left). They have complete coverage for 60cmpp colorized infrared (cir) quads (below middle). Unfortunately, they only have partial coverage for 30cmpp color quads (below right). For St. Lawrence County, they only cover Potsdam, Canton, Massena and Ogdensburgh. A friend of mine, Simon St.Laurent, is another map geek. He lives in Dryden, NY, located in Tompkins County. I notice that Tompkins only has 30cm cir and 20cm cir coverage, and no color quads at all. So apparently the phrase "your mileage may vary" applies in spades.

In order to use those images, I turned them into 200x200 pixel tiles similar to those published by Terraserver. Those tiles get thrown into an in-filesystem database which is a sparse local copy of Terraserver. Whenever any of my mapping software fetches a map from terraserver, it populates the database with it. I've only published pygps and mapview. I haven't yet published maptracks (makes a map with a GPS track overlaid), make-tiles (which splits up the color ortho quads), nor make-tiles-index (which creates the coverage maps above). They need improvement before they're seriously usable.

These datasets get very large, by the way. I've recently discovered the magic of external hard drives using USB 2.0. I picked up a 120GB Western Digital drive from Office Max for $60. The ortho quads amount to 3.9GB, but if you uncompress them all to .tiffs, you'll fill up all 120GB. I need to uncompress on the fly with make-tiles.

Posted [11:31] [Filed in: gis] [permalink] [Google for the title] [digg this]

Sat, 12 Mar 2005

Subaru drops the ball

Subaru drops the ball on its intermittent windshield wiper. We own two Subarus: a 2000 and a 2003 Outback. The 2000 has front and rear wipers. The front has one setting of intermittent (delay) wiping. The rear has no intermittent setting at all. The 2003 front wiper has a variable delay which is set by twisting a cylinder wrapped around the wiper handle. The rear wiper always delays in a most annoying fashion: it will only wipe after its delay has passed, even if you turn it off and then on.

Both of these "improvements" are hideously wrong.

Way back when I was in high school, I used to read Popular Electronics magazine for fun. They published an article using some MSI logic and a 1Kbit static ram chip to implement a wiper delay. This must have been published prior to 1975, since that's when I graduated from high school. Patents only last 17 years, so even if it was patented then, it's not patented now. That wiper implementation was ten times better than anything currently on the market, and twenty times better than what Subaru has done between the 2000 and 2003 models.

Here's how it works: First, all you need is a three-position switch: off, on, and fast. If the switch is off, the wiper is off. If you turn the wiper on, it starts running. If you turn it off, it stop running. Isn't that wonderful! It works the way a switch should work!

But ahhhh, there is extra magic. If you turn the wiper on and then off, a chip starts a timer. If you turn the wiper on again before the timer has expired, then the chip remembers how long you had it off, and it repeats that interval. If you turn it off, wait a bit, and then on again, it remembers how long since it last wiped and adjusts the interval. If you turn it off and then on again immediately, it uses no delay.

All of this complexity exists to do the right thing. You want the wiper to wipe when it's needed, not after some arbitrary delay. You want the wiper to measure the need from when you run it, not by twisting a delay control. You want the wiper to run whenever you ask it to run by turning it on.

Perhaps somebody we can abolish the current intermittent wiper implementations and replace them with this one. Perhaps some day genetic manipulation can graft wings onto pigs, and pigs will fly.

Posted [01:18] [Filed in: life] [permalink] [Google for the title] [digg this]

Fri, 04 Mar 2005

I've never eaten clam fritters

I was going to make Clam Fritters (from the Joy of Cooking recipe) for my honey, shortly after we moved in together. Everything was going fine. I'd just separated out the egg whites when the whole universe exploded. Well, okay, just our part of it. Fortunately, we were both standing next to the kitchen counter, because the kitchen cabinets fell off the wall, and would have taken a dive for the floor except for our combined presence.

You might speculate that there was no ledger board underneath the cabinets. You would be right. The only things holding them up were a few flimsy screws. When we'd loaded it up with two people's worth of dishes and food, they pulled further and further out until BLAMMO the entire cabinet fell down. Right into the egg whites and bag of flour, knocking the former into the latter, effectively gluing it to the counter. No clam fritters for us; we ate pizza that night.

After the dust had settled, we stuffed soup cans under the cabinets to prevent further movement, and checked each other for bruises. Fine. Checked the brand-new speakers still sitting on the tops of their boxes. Fine. Checked the dishes in the cabinets. Fine. Checked the contents of the dish drainer, which was full of glassware, including my class year graduation glass. Tragedy struck! My precious Burger King Star Wars glass had shattered. Much pretend wailing and gnashing of teeth followed, once we realize that that was the only victim. Seemingly.

The next day the landlord's son came to put all right. He was a klutz, but at least he was prompt about fixing things he'd installed improperly, like the the hot-water tank which drew its hot water from the bottom, the front door which "latched" but could be sprung with a hip check, the interior walls which leaked conversation from one apartment to another, and the ground-fault interrupter circuit breaker which triggered when you turned anything on but didn't stop the flow of electricity. He re-hung the cabinet, this time with a ledger board.

We got ourselves breakfast, but when Heather poured her orange juice, it started pouring onto her feet. She did a double-take, and yes, she was pouring it INTO the glass. Turns out that that glass had been a victim of the dish drainer of destruction. It had two small puncture holes in the bottom, which didn't disturb the integrity of the glass other than its ability to hold fluids.

We've never eaten clam fritters.

Posted [23:27] [Filed in: food] [permalink] [Google for the title] [digg this]

The China Syndrome

The China Syndrome, of course, is the name of a movie about a nuclear plant meltdown falling all the way through the earth to China. Of course that could never happen. What with friction and all, even if it went straight down so as to take the shortest path, it would disappear and never reach the surface of the world again.

No, I'm talking about the modern-day China syndrome, where open source projects disappear and never reach the rest of the world again. The Chinese are great consumers of open source code. Remember the great fuss made about Red Flag Linux, the Chinese national Linux distribution? It's still going strong, but you don't hear of it because of the large black hole which is China.

Why is this a problem? Well, strictly speaking, it isn't a problem. Open Source is about freedom -- the freedom to do what you want with code. So if the Chinese just take, add their improvements and never contribute them back, that's fine. Only ... it isn't, really. First, because the rest of the world misses out on the Chinese contributions. We lose. Second, because they are forking the code unnecessarily. When we make improvements, the Chinese have two choices: ignore them, or incorporate the code into their modified version. Either choice, the Chinese lose.

Open source is best when everybody cooperates with everybody else. Anybody who decides to go it alone creates inefficiency for them and everyone else. In time, the Chinese will figure this out. If you know any Chinese hackers who speak English, you can help by pointing them to this article.

Posted [15:18] [Filed in: opensource] [permalink] [Google for the title] [digg this]

Tue, 01 Mar 2005

Resigning from OSI Presidency

I'm resigning from the presidency of the Open Source Initiative, effective last Wednesday (2/23). I have waited to make this announcement because it is not easy to admit inadequacy publicly. I have no trouble telling people that I am a poor swimmer, but that is of no matter to me since I don't care about swimming. I care very much that OSI have a good president. I don't like politics, and it's become evident in recent weeks that OSI's role has rapidly become much more political. I am not ready for the position of president; certainly not by training and perhaps not even by temperment. The entire board is unanimous in agreeing that we need a president with more political savvy than I.

Michael Tiemann is the new president pro tem. He will do an excellent job until we reconstitute a larger board. We will then elect a president for a full term of office. I'll continue to serve on the board as the chairman of the license approval committee, and as an at-large member. Congratulations to Michael!

Posted [20:32] [Filed in: opensource] [permalink] [Google for the title] [digg this]