Russ Nelson's blog

[ Home | RSS 2.0 | ATOM 1.0 ]

Tue, 19 Jun 2007

Deflation 2

I tried to explain my lack of understanding of people's dislike of deflation earlier, but with little success. Two people wrote saying, roughly, "huh??" So, I try again. We are used to prices constantly rising in America. That's because the Federal Government metaphorically prints up new dollar bills. With more money chasing the same goods, prices rise. That's inflation. If the Feds were to destroy old bills and not print replacements, you'd have less money chasing the same goods, prices would fall, and that would be deflation. Everybody's clear on that, right?

Now, stop printing up new dollars. Keep the amount of currency constant.

Note that we don't actually have the same goods. In a free market society, with people constantly trading for things that make them more content, value is constantly being created. With every trade, people value the new thing they have more than the thing they traded it for. They won't be willing to immediately trade again except for a higher price.

So if you have a fixed amount of money chasing higher priced goods, the price of money has to rise to match. That's deflation. Exact same situation as inflation, only mirrored. Excepting, of course, that the price of money can't go up; "price" is what we call the amount of money you need to trade for something.

The natural course of money is to become more valuable over time because there are more and better things you can spend it on. That points the way towards private currencies which could seek price stability by purposefully printing enough new currency to match the increase in total value in the economy. After printing the new currency, they pay for the printing and earn a profit by spending this new currency. They created the value that that currency represents by keeping away forgers and by recruiting new entrants into the marketplace for that money.

In this manner we could return to a system of private currency.

posted at: 20:51 | path: /economics | permanent link to this entry

New product announcement: NFSper

[ I don't know why I posted this on October 14th 1990, when the product was really available on April 1st of that year. -russ ]

FOR IMMEDIATE PUBLICATION OCT 14, 1990

ESP Software
11 Grant St.
Potsdam, NY 13676

ESP Software would like to announce their newest product, NFSper. NFSper is a NFS server with an order of magnitude better performance than any existing NFS server. NFSper uses a proprietary technique to cache NFS requests on the client before they are transmitted to the server. Lab tests have shown that the NFS packet are available on the client an average of 100 microseconds before the client sends the request. Under test conditions, we have observed packets a full 250 uSec before the request transmission!

NFSper avoids paradoxical effects by caching the packet rather than actually upcalling it. If the request packet falls on the floor, or the client fails to carry out its intent to send the request, then the client will never request the packet from the cache. Of course, in the case of high network loads or indecisive software, NFSper will rapidly fill your cache, removing any performance advantage.

NFSper comes with programmers guidlines for stern, decisive coding. The sooner a decision is made to request a packet, the sooner NFSper can start sending the reply. We have found that most software makes this decision soon enough, but new software should of course take advantage of this new technology.

We are currently working on TelePathWay, "All the Network without all the wiring." TelePathWay does away with the need to run coax or twisted pair. TelePathWay plugs into the AUI port found on most Ethernet equipment. You must supply your own telepath. Deliveries are expected by 4Q91.

Direct all inquiries to:

Russell N. Nelson, President
ESP Software
11 Grant St.
Potsdam, NY 13696
(315)265-5655

posted at: 19:44 | path: /life | permanent link to this entry

Mon, 18 Jun 2007

Ride starting Sun Jun 17 18:39:35 2007

25.33 km 83099.16 feet 15.74 mi 5270.00 seconds 87.83 minutes 1.46 hours 10.75 mi/hr

I like this ride even though both long legs are pretty darned straight. The leg to the right of "Southville State Forest" is actually an abandoned dirt road. In the windy weather of a couple of weeks ago, a tree fell down, and is blocking the northern end of the road. Garnet will have to come with his chainsaw and cut it up.

posted at: 02:14 | path: /bicycling | permanent link to this entry

Sun, 17 Jun 2007

Endianness

In general, a computer architecture will be able to access the same data in multiple sizes. E.g. by the byte (8), word(16), integer(32), or long integer(64). Usually, but not always, bytes are the smallest component, and the address space of the machine maps one-to-one and onto every byte. Typically a word is found at every other byte. However, big-endian architectures treat the byte with the lower address as the most significant byte of the word, and the next byte is the least significant byte. They take the big end first. Little-endian architectures are the most common, and put the least significant byte first, at the lower address.

Clearly this has implications for converting data into values. If you get data (a stream of bytes) from a file or over the network, you need to know how to convert those data into values. You need to know if the values were stored big-endian or little-endian. This problem has caused much grief among programmer, because they have tried to take shortcuts like:

void t(unsigned char *ptr) {
    unsigned int i = *(int *)ptr;
}
which is completely unportable code, whereas:
void t(unsigned char *ptr) {
    unsigned int i = ptr[0] | (ptr[1] << 8);
}
is completely portable code, is explicit about byte order, and any reasonable peephole optimizer will generate the same code as the first.

Endianness is completely separate from file/network byte order. The first is a characteristic of the architecture. The second is a serialization method.

posted at: 18:25 | path: /opensource | permanent link to this entry

Sat, 16 Jun 2007

Metric Century

I just noticed that my most recent ride on the Mohawk-Hudson Bikeway is a metric century! 108km! And thinking about all the other long rides I've taken, I'm pretty sure that this ride is my longest ride ever. Back in high school, I rode from Shohola to Honesdale, about 50 miles round trip. More recently in July 2005, I rode 11.5 miles in the morning, and 51.7 miles in the afternoon. That's not as long as Friday's ride, but was technically a metric century because I rode 101.8 km in one day even though it wasn't in one contiguous ride.

posted at: 19:27 | path: /bicycling | permanent link to this entry

Fri, 15 Jun 2007

Ride starting Fri Jun 15 10:11:06 2007

108.78 km 356883.86 feet 67.59 mi 24246.00 seconds 404.10 minutes 6.74 hours 10.04 mi/hr

Longest ride I've been on in a long time. In September 2004 I went for a 57 mile ride. I want to work my way up to a century ride later this summer. I'm 2/3rds of the way there! Unfortunately, I was pretty darned sore by the end of this ride. Not tired, just sore hands, a sore elbow, and mostly a sore butt.

Went from Latham to Dunsbach Ferry to Cohoes, then backtracked. The railbed used to go across I-89 at grade, from 1959 to 1963. Now, you detour down to the Thaddeus Kosciousco bridge and cross under it on the road. Shortly on the other side is a ramp heading back up to the railbed. You stay on the railbed until the Knolls Atomic Power Laboratory in Niskayuna. They don't want people wandering around on their property, so they have the railbed gated off, and the railbed is routed up the hill, and around that facility, and the GE facility to the west of it. Then it's a fast ride down a steep hill with a 90-degree turn at the end to get back on the railbed.

More railbed riding until you get to the far (west) side of Union College. The bicycle trail seems to disappear at that point. If you ask a few locals, you'll find out that the bicycle trail continues near the community college. It's not following any railbed at that time, but fairly soon you connect up with the old Erie Canal towpath. There's the ruins of a pair of locks. More straight, flat riding until you get to Lower Rotterdam Junction, where the path is closed and re-routed up to the highway. A bit of highway riding gets you back to the trail, but your happiness is limited. A short distance after Rotterdam Junction the bicycle trail disappears. I asked inside a shop, and the shopkeeper said that it continued "a little" further on. I rode a little and didn't find anything, so turned back.

posted at: 05:08 | path: /bicycling | permanent link to this entry

Ride starting Thu Jun 14 18:41:18 2007

27.22 km 89309.79 feet 16.91 mi 7036.00 seconds 117.27 minutes 1.95 hours 8.65 mi/hr

This ride was an out and back on the Airline Trail. As they say on the website, the North portion of the trail, from Willilmantic to the MA border, is less well developed. It's paved for a while on the northeast side of Willimantic, then it turns to rock dust, then it's completely undeveloped. In this particular case, that means that the drainage ditches have not been repaired, and so the water runs down the middle of the trail. As it does so, it sifts out the fines from the fill. You end up with some very sandy sections interspersed with very rocky sections. I turned back when it started getting dark and when the trail started getting too undeveloped.

By the time I got back to Willimantic, it wasn't quite as dark as I had feared and I wasn't as tired either. So I headed west to the Eastern Connecticut Railroad Museum. Looks like a very nice small museum. They've got a six bay roundhouse, a turntable, a selection of buildings moved there, and some track and rolling stock.

posted at: 03:34 | path: /bicycling | permanent link to this entry

Wed, 13 Jun 2007

Ride starting Wed Jun 13 15:50:59 2007

29.06 km 95327.05 feet 18.05 mi 7299.00 seconds 121.65 minutes 2.03 hours 8.90 mi/hr

Went out on the Rutland for three reasons. First, to go for a nice quiet ride. Next, to check for fallen trees (yes, several). Last, to replace the Rutland Trail #2 geocache. Unfortunately for the latter, I couldn't find it! I suspect that the last person to find it hid it far too well, as if somebody might be casually walking through eel-infested waters.

posted at: 04:05 | path: /bicycling | permanent link to this entry

Tue, 12 Jun 2007

A GPE Settlement

Nils Faerber is throwing mudballs in his blog entry entitled Trademark issue.... First, we need to be clear here that trademarks are not the problem. Trademarks are intended to be the solution. The problem is that both LinuxToGo (in the person of Nils) and Handhelds.org (in the person of George) think they have exclusive rights to the project named "GPE". Not the code, of course, because open source code can always be forked. This is a fight over the name. Nils puts forth his own case. I'll put forth the Handhelds.org case here:

The case for Handhelds.org ownership

Yes, Nils chose the name GPE, and yes, he contributed the first stubs of code to Handhelds.org. Yet he clearly handed the project over to Handhelds.org in his introductory email. He even called it a "community project". He was eager to have it based at handhelds.org. Why? Because he wanted handhelds.org to own it. Why else would he have behaved that way? He already had kernelconcepts.de. He could have hosted it there, except ... he wanted it to be owned by the community.

If he owned GPE, then he would simply have moved it without bothering to ask if anyone objected to moving it. Yet he did ask. That says that he thinks it's a community project. A handhelds.org project. And people objected to him moving it, but he moved it anyway.

Handhelds.org was never a hosting site ala Sourceforge, Savannah (nongnu), or Berlios. All of the projects there were started by members of the handhelds.org community to be owned by the handhelds.org community, more like Savannah (gnu). There are no projects there unrelated to Linux on handheld computers. Nils seems to believe that he can convince people (he has already convinced himself) that hh.org was just a hosting site, so moving a project was not forking. Unsurprisingly, the people at hh.org disagree and think he should fork and rename.

The Conundrum

The problem is that both parties believe that they own the name, and can put forth a reasonable argument by community norms. For better or worse, Handhelds.org was the first to use the name in trade, which in the U.S. gives it the trademark. George is only seeking a trademark (which he plans to assign to Handhelds.org, Inc.) to enforce a claim on the project that he believes, by community norms, is legitimate. For his part, Nils is trying to sway public opinion against George by making his actions seem illegitimate, as if Nils owned the project without dispute, and as if George was trying to steal it.

In other words, neither party can resolve their claims by community norms and both are seeking other means of enforcing their claim to GPE.

So what are we, as a community, to do? Who owns the project named 'GPE'? It's not clear, by the rules we've always followed. We need to make new rules.

There's a hint, in trademark law. If two parties are using the same name in conflict (e.g. Snyder's of Hanover, and Snyder's of Berlin, both of whom make pretzels in Pennsylvania), then both must take steps to ensure that they are not confused with the other. We may choose to accept or reject that hint. If we choose to accept it, then I propose settlement terms as follows:

A GPE Settlement

Whereas:

Be it resolved that:

Obviously this settlement goes nowhere unless both Nils and George agree to it. But having it written out is better than the mudballs that Nils and LinuxToGo associates are throwing at George.

UPDATE 6/16: Nil refuses to even consider the settlement as the least bad solution. He doesn't think the hh.org community has any ownership stake. He doesn't think he's done George any wrong. He continues to maintain that he didn't fork GPE. Nil believes that he would prevail in a trademark infringement suit and sees no reason to settle. Nil refuses even to spel my name correctly. Consequently, I have put his email address back on my "do not mail" list. Call it petty if you want, but I insist upon a minimum of respect.

posted at: 01:48 | path: /opensource | permanent link to this entry

Mon, 11 Jun 2007

The Free Market cannot solve all the world's problems

I don't know where the idea came from that anybody thinks that the free market can solve all the world's problems. Apparently somebody does, because this Slashdot poster felt that he had to deny that it does. I think this is a strawman, however. I don't know anybody who thinks that the free market can solve all the world's problems. I'm quite sure that opponents of free markets think that proponents of free markets think that they can solve all the world's problems.

Some problems are simply hard to solve. There is no magic wand. A free market can't solve them. Neither can a market constrained by the violence of the state -- although it will arrive at a different solution. Constraining markets isn't free of cost, so while it may appear that constrained markets work better, you also have to count the cost of the constraint. Also, the constraint serves to eliminate creativity, so that a free market solution which might arrive over time, will never appear.

Nobody can solve all the world's problems, because as soon as you solve the worst problem, things which weren't perceived as problems before, are now problems.

posted at: 16:57 | path: /economics | permanent link to this entry

Sat, 09 Jun 2007

The Shangri-La Diet 3

Been on the diet for about four months. Have lost one notch on the belt. The single most important thing on the diet is to not eat when you're not hungry.

Switched to sugar when I was in India, but I also ate something which disagreed with me that prevented me from digesting anything about about a day. So I don't know how sugar works for me.

posted at: 06:20 | path: /food | permanent link to this entry

Fri, 08 Jun 2007

XML Challenge #1

Here's my challenge #1 for XML partisans: Given the information in a record stored in an XML file which consists of an array of these records, append that record to the file. Extra points if you can do it without having to rewrite the file from scratch.

Now do the same thing using NSDFS, and weep at your choice of XML.

posted at: 21:23 | path: /opensource | permanent link to this entry

Ride starting Sat Jun 9 15:24:36 2007

7.71 km 25286.33 feet 4.79 mi 1500.00 seconds 25.00 minutes 0.42 hours 11.49 mi/hr

dang. Broke a spoke. Short ride today.

posted at: 20:00 | path: /bicycling | permanent link to this entry

Sun, 03 Jun 2007

Ride starting Fri Jun 8 11:48:06 2007

14.17 km 46476.85 feet 8.80 mi 2700.00 seconds 45.00 minutes 0.75 hours 11.74 mi/hr

Out and back ride, to Mom's Schoolhouse Diner for lunch. Above was out, below is back. The mileage differs because my Garmin Foretrex samples between every five and ten seconds. Depending on how many turns you take, this can introduce significant variability even in identical routes.

14.34 km 47045.21 feet 8.91 mi 2667.00 seconds 44.45 minutes 0.74 hours 12.03 mi/hr

Interestingly, even though one direction was upwind and the other down, both legs took the same amount of time, within 33 seconds.

posted at: 21:22 | path: /bicycling | permanent link to this entry

Fri, 01 Jun 2007

Ride starting Fri Jun 1 15:57:12 2007

31.61 km 103710.81 feet 19.64 mi 5541.00 seconds 92.35 minutes 1.54 hours 12.76 mi/hr

Went for a little ride of exploration today. Straight down to Southville, north on Benton Rd., south on Needham Road, a little side trip down Brothers Road, west on 11B, and north on Heath Rd. to West Stockholm and back home. I've been on all these roads before, just not in this combination and not recently.

posted at: 21:47 | path: /bicycling | permanent link to this entry

Ride starting Sun Jun 3 11:33:06 2007

12.11 km 39727.72 feet 7.52 mi 1950.00 seconds 32.50 minutes 0.54 hours 13.89 mi/hr

Then I visited the Borderline Quilters semiannual show with my wife, and continued on my ride:

29.48 km 96732.01 feet 18.32 mi 6985.00 seconds 116.42 minutes 1.94 hours 9.44 mi/hr

Beautiful day after a crazy weather day yesterday. We had 3/4" diameter hail, measured. There was so much of it, and it cooled the day down so much that it was still on the ground at 2AM. All sorts of shredded leaves near our house, but none 1/2 mile away. So, ignoring the predictions of afternoon thunderstorms, I went for a bike ride. Found Nature's Course geocache, then continued down to Hannawa Falls. Rode the last bit of the way into town on the Red Sandstone Trail.

posted at: 19:04 | path: /bicycling | permanent link to this entry

Archives

My chiropractor is a victim of proprietary EHR software. I'm trying to get him moved over to Open Source, but FreeMED is missing a few things that he's used to. For example, chiropractors use multiple CPT codes in the same procedure. FreeMED requires you to jump through the procedure entry code multiple times. Robert Meyer wrote a module to add multiple procedures. He graciously shared it with me, and I updated it to 0.8.4.. Download it and drop it into your .../modules directory and then enable the Multiple Procedures module under Patient/Configure

posted at: 16:54 | path: /opensource | permanent link to this entry

Made with Pyblosxom