Russ Nelson's blog

[ Home | RSS 2.0 | ATOM 1.0 ]

Sun, 26 Mar 2006

Ride starting Tue Mar 28 16:46:00 2006

13.13 km 43074.87 feet 8.16 mi 2746.00 seconds 45.77 minutes 0.76 hours 10.70 mi/hr

First ride of the season! Probably about fifty degrees outside today. Not so very warm, but acceptable for tshirt and bike shorts. Passed another biker all trussed up like he thought it was cold. Stupidly sick with a stupid cold, so I felt short of breath and weak the whole way. Nonetheless I averaged almost 11MPH.

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

Tue, 21 Mar 2006

Government is violence

The Australian Labor Party wants to force ISPs to block violent content. Let me quote one of the founding fathers at them:

"Government is not reason; it is not eloquent; it is force. Like fire, it is a dangerous servant and a fearful master." --George Washington

Thus, we should censor government first and foremost if we censor violence.

posted at: 17:04 | path: /politics | permanent link to this entry

Mark VII keyboard

The Mark VII keyboard is, as I promptly discovered, a failure. I'm quite confident now that a comfortable chordite keyboard will not have its keys mounted in the same plane. Not even if the plane is split in two as in this keyboard. The trouble is, as I said earlier, the hand is more complex than I thought. Not only do the finger joints hinge (mostly; there is a little sideways play; just make a Mr. Spock double finger V to see the motion I mean), but the metacarpals move as well. Touch all five fingers to the tip of the thumb. The's one extreme. Flattening out your hand is another. When your hand is relaxed, it's somewhere in the middle; non-planar.

thumb view, fingers down (Thumbnail) thumb view, fingers up (Thumbnail) above view (Thumbnail)

posted at: 05:29 | path: /chordite | permanent link to this entry

Mon, 20 Mar 2006

DK simple, DKIM complex, simple good

Domainkeys started off as a very simple system. Take a hash of the email, sign it using a private key, base64-encode it, stuff it in a header, and send the email. On reception, if the header exists, take a hash of the rest of the email, compare it to the hash in the header, and check the signature against a public key published in a DNS record underneath the domain name of the From: address.

Simple to sign, simple to check, simple to implement.

Then came reality. You see, a standard is no good unless everybody can implement it. That is the goal -- widespread implementation. However, some people have unnaturally restricted their concept of "implementation" when it came to DK. They said "well, this MTA munges the message $THIS way, and this other MTA munges the message $THAT way, and mailing lists don't change the From: and will append a trailer to the message." Thus was born the complexity in DK, which has resulted in DKIM.

However, a complex standard is also hard to implement. Thus there needs to be a balancing act. DKIM has gotten so complicated that it will be hard to implement. In the end, I think that we need to cut some MTAs loose. Some MTAs were never really written to Exchange internet email. I think that there is no hope for them. Adding complexity to DK was a mistake in the first place. It's hard to write authentication software. In the end, it produces a binary result, and that result can be seen to be right or wrong. Adding complexity is intrinsically the wrong thing to do.

So a stand must be taken against DKIM's complexity (DK is already complex enough; no more!). Mailing lists SHOULD resign messages if they munge. Munging MTAs SHOULD use a lightweight proxy MTA front-end that faces the Internet, checks the signature, inserts a result header, and relays the email to the munging MTA.

Anything less is insanity. implement DomainKeys like Yahoo and Google Mail have done. Ignore DKIM.

posted at: 15:09 | path: /opensource | permanent link to this entry

As Long As Thou Canst

I think that open source will inevitably whittle all closed source companies down in size. It's just a question of time before they will have to seek accommodation with us or go under. When will be the defining event which allows us to say "We forgive all your bad history; welcome!"?

Even if Microsoft never, ever becomes an open source company at their core, they operate in a context where open source software is their best choice. They could simultaneously be advocates of open source software, and critics of it at the same time. If we're waiting for them to become ethically pure (as the FSF would have everyone do), then I think it will never happen. If we wait forever, then we will pass up an opportunity to encourage them to produce as much open source as they can.

There is a story (no doubt apocryphal) told of William Penn. As an aristocrat, he was expected to wear a sword as the symbol of his station in life. When he converted to Quakerism, he felt an expectation that as a newly-convinced pacifist, he should not be wearing a sword. He approached George Fox (founder of the religion) for advice about how long he should continue wearing his sword. Fox replied "Wear thy sword as long as thou canst."

If someone from Microsoft was to ask me how long they could continue to produce proprietary software while still being members of the open source community, I would tell them "As long as you can."

posted at: 02:09 | path: /opensource | permanent link to this entry

Sat, 18 Mar 2006

Leverage

John McKown cautioned me that he found that the "thumb low" position (used in Mark V) created extra fatigue. That hasn't been my experience with the prototypes. I think I know why.

I've been learning far more about hand dynamics than I ever thought I would care about. For example, you really only have two sets of muscles controlling the curvature of the fingers. The third joint is connected to the same tendon as the second joint. The only reason you have a joint there is to help you wrap your hand around objects. Thus, you can only have a maximum of two keys per finger. That is, incidentally, the problem with the Mark III keyboard: you have to coordinate multiple muscles to press a key, whereas the standard chordite keyboard uses just one muscle.

The biggest muscle in controlling the thumb pulls it in to the middle of the palm; in the direction of curvature of the thumb. Thus, for the least fatigue, the keyboard should accept pressure from that direction, and redirect it as needed through a lever.

First, I'm going to talk about the existing chordite prototypes. Looking at the photographs, I think the Mark IV comes closest to having the same mechanical design.

The direction of forces in a keyboard is complicated. The bulk of the force comes from the fingers pressing on the keys. This rotates the keyboard towards the base of the palm. A support at the base of the palm is supposed to counter that force. However, the force doesn't go away. You end up with the base of the palm being the fulcrum of a third-class lever. Your fingers are pushing on the key at the end of the lever, which forms the load. The effort must come from your thumb.

However, your thumb is not bearing directly towards your palm. Your thumb's direction of rotation (and thus the vector of force from the thumb's largest muscle) is pointing at the pinky, not at the middle of the palm (which is where the force is expressed, on average. In actuality, each finger produces a different rotational force on the keyboard. For now, we'll pretend that the direction of rotation is the same -- towards the base of the palm. Each finger, though, is pressing on this lever at a different distance from the thumb.

So, what kind of a lever do we have here? The fulcrum is the first knuckle, which has the keyboard support bearing on it. The effort is applied to the shorter distance (the distance between the pad that the thumb bears on, and the first kuckle support), and is expressed against the load from the sum of all the finger presses.

Too complicated! I need a picture here:

The fingers generate the load at the end of the green arrow. The fulcrum is the head of the green arrow. The force is being applied against the green lever by the red lever at the point of intersection of the green and red arrows. The thumb lever is a little more complicated, because the lever is split in two, connected by a rigid linkage (the keyboard). The thumb bears on the thumb saddle at the end of the red arrow. The fulcrum is the red dot, which sits top the first knuckle.

You can see that you have two class three levers. A class three lever requires more force but less motion. Two class three levers one bearing on the other requires lots more force but very little motion. The problem here is that there isn't any motion. This is all static force. You don't want to use a class three lever if you can help it.

I think that the Mark V provides better leverage. The thumb is bearing in the direction its largest muscle moves. The effort point of the lever is closer to the length of the load port of the lever, so it's closer to being a class two lever than a class three. The thumb and fingers are designed to grab things, so the closer the keyboard comes to something you can grab (like a rock), the easier it will be to use.

posted at: 16:44 | path: /chordite | permanent link to this entry

Mark VI

The sixth keyboard, the Mark VI, is only a slight modification from the Mark IV. Rather than having all the keys in the same plane, they are slightly canted to match the bend in relaxed fingers. I've put the switches on perfboard for two reasons: I'm going to wire them up fairly soon, and the .1" spacing gives a reasonable amount of adjustability.

 (Thumbnail)  (Thumbnail)  (Thumbnail)

posted at: 16:43 | path: /chordite | permanent link to this entry

The hand is more complex than I thought

Refer to this numbering system for the metacarpals (bones of the palm) and phalanges (finger bones). Except for the carpals and associated joints, all of these joints are hinge joints. That is, they rotate in only one plane. The knuckles are the joints at the ends of the metacarpals.

You'll need to look at your own hand now. If you're blind, you'll have to do this by touch. If you have no hands, you'll have to borrow someone else's hand. Straighten out your hand so the phalanges and metacarpals are all in the same plane. Bend your knuckles, and you can see that they're all pretty-much co-linear. You can see that the metacarpals travel through parallel planes. If they were pressing Marquardt switches, the switches would be mounted in the same plane (although possibly at different heights)

Now relax your hand, as if resting on a ball. Those damn metacarpals move around! They rotate relative to each other. Given that the knuckles are hinge joints, and can only move in the same plane, and that plane has now rotated. That means that the distance between your fingertips depends on whether you're holding your palm relaxed or flat.

To see what I mean, form your palanges into a C shape with your palm (metacarpals) relaxed. Now, moving only your palm, and not your knuckles or your thumb, flatten out your palm. You may need to move your knuckles a little bit. You will see that your fingers spread apart.

The implication of all this is that the phalanges on a relaxed hand will tend to come closer to each other as you bring your fingertips towards your palm. It also means that the direction of movement converges. Because it converges, using coplanar-mounted switches is not best. That means that the Mark VI switch isn't going to work well. Nor does the Mark VII keyboard. The only way such a key mounting would align correctly with the finger movement is on a Mark IV keyboard (phalanges nearly in-line with metacarpals), which I've already decided is not comfortable.

posted at: 05:50 | path: /chordite | permanent link to this entry

Public Software

I think that I'm not going to use the term "Free and Open Source Software" or its acronym "FOSS". I just don't like the term. It doesn't roll off my tongue. You most often see people in political positions use FOSS. FOSS is viewed as a compromise term. You see, Open Sourcers don't like Free Software, and Free Software-ers don't like Open Source.

"Open Source" doesn't say anything about freedom. Free Software isn't so much about software as it is about freedom. Thus, if you don't say "Free", you completely miss the whole point. No term which doesn't have "free" in it will satsify them.

The problem with "Free Software" is that in English, Free Software has two or three meanings. Free as in freedom, which is the intended meaning. Free as in zero-cost, which is not undesirable although it's besides the point. Free as in crap, which is very much not desired, but "It's only worth what you paid for it" is a widely-held view.

I've had some people suggest "Libre Software", but that seems to bring its own confusion: what does a library have to do with software?

I think I like the term "Public Software", as in the Public Software Fund. Andrew Carnegie paid for the Carnegie Libraries, public libraries. Mark Shuttleworth has endowed The Ubuntu Foundation, a public Linux distribution. John Gilmore is paying for GNU Radio, public software. Given the increasing interest from public institutions, I think "public software" is a good term.

posted at: 02:36 | path: /opensource | permanent link to this entry

Fri, 17 Mar 2006

A solution to RSS polling

The problem with RSS is that it requires polling. In order to see if a feed has changed, you have to download the feed and compare the timestamps to see if any entries have changed. This bothers a lot of people. First, because it's mostly wasted activity. Second because it increases the latency of a news feed. News isn't news once it's olds.

However, I think there is a very simple solution to RSS polling. When somebody connects to poll the RSS feed, don't give them the feed until it changes. The problem with this idea is that it results in every subscriber keeping an open TCP socket. Most operating systems dedicate (unswappable) operating system memory for this purpose. Most operating systems have trouble holding more than 10,000 connections open at one time.

However, those are trivial problems compared to the problem of reinventing a version of RSS that doesn't require polling. It is relatively trivial to change the software on a web server compared to the task of coordinating clients and servers to change together. So, for example, somebody who wanted to implement this idea could provision a special box whose only purpose was to serve up RSS feeds. It would poll a private RSS feed every few seconds or as configured. It would distribute this RSS feed to the public, holding open as many TCP connections as needed, using a SQL database to hold them if necessary.

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

Tue, 14 Mar 2006

Unrelenting Evil part 3

Continuation of Unrelenting Evil and Unrelenting Evil part 2

Faried pointed to fatwa 1, fatwa 2, and fatwa 3. Fair enough. He also points out that these folks are criminals. It's quite possible that the criminality of the Hussein regime generated criminality among the populace, so one might reasonably claim that the rampant criminality in Iraq has nothing to do with Islam. He also points out that Muslim leaders condemned the Berg murder without exception. I have to wonder, though, who they're leading given the "yesbuts" of the random people interviewed by NBC.

I wish to publicly thank Faried for tolerating my anger and impatience, with polite and thorough emailed replies some of which I have used in these two follow-ups.

posted at: 02:17 | path: /politics | permanent link to this entry

Sun, 12 Mar 2006

Unrelenting Evil part 2

I wrote Unrelenting Evil before attending Quaker Meeting later in the afternoon. I feel somewhat better now. It's incorrect of me to say that all Muslims are evil or stupid. Certainly some of them must be peaceful, otherwise they would have killed each other off centuries earlier. I still have trouble accepting a subgroup killing a person whose sole aim was to help the group. Perhaps if I could understand, I might forgive.

Faried writes with several public statements by The Muslim Association of Britain, Palestinians, Council for American-Islamic Relations, (same), and some blogger. and asks:

Doesn't an appeal count as condemnation of the kidnapping?

I have to ask: "Where is the fatwa against the murderers?" More importantly, how many people will believe the fatwa and act on it? Surely if all these quotes from the Qur'an can be believed, then killing an innocent person is one of the worst things a Muslim can do. Surely it's worse than merely publishing a cartoon or humiliating some prisoners?

There were much condemnation for, say, Nick Berg's murder because that was relatively an unusual event; see http://www.answers.com/topic/nick-berg or http://www.msnbc.msn.com/id/4978424/

I'm sorry, but, no, this is not condemnation. It is excusing the Berg murder with "yes it's horrible but". A condemnation would be "yes it's horrible and". Muslims are capable of absolute judgements. They have uniformly judged the cartoon depictions of Muhammed as blasphemy. Surely if they were members of "a religion of peace", they would be able to condemn a murder of a peaceful innocent without reservation, exception, or excuse.

posted at: 05:45 | path: /politics | permanent link to this entry

Fri, 10 Mar 2006

Unrelenting Evil

Right about now, I'm feeling like all Muslims are unrelentingly evil. I'm sure that's not true. I'm sure that some are merely stupid. But where is the condemnation in the Islamic world of this killing? If Muslims kill every westerner they can get their hands on, even those who are trying to help them, what hope can anyone have for them?

There is only one thing that comforts me right now: the thought of the surprised looks on their faces when they meet Allah. "But I thought we were doing your will!" "I wanted you to love your enemies, not kill them. How could you be so wrong?""

UPDATE: See Unrelenting Evil 2. Note: the Christian God is the Jewish Jehovah is the Islamic Allah. It is perfectly fair for me to claim that God will judge Muslims by Christian principles. Obviously if I thought that Islam got God's will more correct than Christians, I would be a Muslim.

posted at: 19:51 | path: /politics | permanent link to this entry

Tue, 07 Mar 2006

Qi is Electricity

Some of you may have heard of Chi, if only because Chi is the second word of Tai Chi. Chi is the old transliteration. Qi is now the more accepted term. If you study Qi, that's called Qigong. In the English tradition derived from the Greek it would be called Qiology. Dr. Yang, Jwing-Ming has studied Qi for most of his life. He thinks Qi is electricity flowing inside the human body. I agree with him.

He gives several reasons:

I add several observations of my own:

Yeah, this sounds pretty screwy, and you might think it's poo unless you're studying Qigong and/or you're an electrical engineer. This theory isn't proven, but I know of nothing to disprove it.

posted at: 06:35 | path: /life | permanent link to this entry

Sun, 05 Mar 2006

Mark V keyboard

This keyboard has no support at the base of the palm. It isn't needed! The keyboard bears directly on the thumb. The main difference between this keyboard, and the others is that the thumb position is lowered. The thumb is now positioned between the index and middle fingers. Most of the bulk of this keyboard is now structural. The kingpin only extends beyond the width of the palm because it's made of cardboard. If it were made of something stronger, it would only need to go 1/4" beyond the palm.

I'm becoming more satisfied with the thumb configuration. I think it needs to be even thinner, but I'll have to make it out of something stronger than cardboard. I'll try wood, I think. It will take hot-melt glue well and is strong enough.

UPDATE: Since I know there will be a Mark VI keyboard, I tried cutting off the kingpin beyond the width of the palm. Seems perfectly sturdy to me.

Palm Forward (Thumbnail) Thumb Grips Keyboard (Thumbnail) Thumb Really Grips Keyboard (Thumbnail) Fingers Slightly Curved (Thumbnail) Oblique angle showing thumb slow (Thumbnail) Key positions (Thumbnail) Knuckle view (Thumbnail)

posted at: 22:55 | path: /chordite | permanent link to this entry

Sat, 04 Mar 2006

Mark III keyboard

This keyboard has the fingertip pressing one key, the other key, or both keys.

view from above (Thumbnail) view from front, through palm (Thumbnail) fingers lifted (Thumbnail) fingers on back buttons oblique (Thumbnail) fingers on back buttons (Thumbnail) fingers on front buttons (Thumbnail)

posted at: 22:51 | path: /chordite | permanent link to this entry

Mark IV keyboard

The advantage of this design is that all the keys are in the same plane. Much more manufacturable.

 (Thumbnail)  (Thumbnail)  (Thumbnail)  (Thumbnail)

posted at: 20:48 | path: /chordite | permanent link to this entry

Mark I keyboard

The dog ate my keyboard!

No, seriously, the dog chewed it to bits. Fortunately, the keys fell off and survived. I had taken a few photos, but I wasn't very pleased with them, so I deleted them. The thumbgrip was thicker than the Mark II, and the keys for each finger were co-planar. The trouble with having both keys in the same plane is that your finger needs to be mostly straight to push them without any sideways pressure. If your fingers are bent (as required by the Mark I), each section of the finger revolves around the joint at its base. The switch should therefore be lined up perpendicular to the joint. The trouble then is that when you press both keys, the greater the angle off the plane, the more sideways movement of the skin.

At least, that's the theory. The Marquardt keys only travel 1.6mm. If the angle between the keys is 5 degrees, sin(5.0/360*2*pi) is .087. The sideways movement on the fingers is .14mm. Hardly noticable.

posted at: 01:00 | path: /chordite | permanent link to this entry

Go away, Elliot

Elliot Spitzer proposes to save us from political allocation of economic development dollars. How is he going to do this? By politically allocating economic development dollars, of course -- only he's going to do it his way, which will be much more rational than the current idiots way. The trouble, of course, is that once he's in orifice, he'll be the current idiot.

If Elliot really wants to help New Yorkers, he'll give us our economic development dollars back in the form of tax cuts. Frankly, Elliot is a politician, not a businessman. So when he says that he "believes that government should have no higher priority than standing up for New York State's economic future." you know that means that he wants to spend our money to help us. I have a better idea: I want to spend my money to help me, and I don't need any busybody telling me how to spend my own money.

posted at: 00:33 | path: /economics | permanent link to this entry

Fri, 03 Mar 2006

Mark II keyboard

shot from back of invisible hand (Thumbnail) shot from back of invisible wrist (Thumbnail) shot from fingertips (Thumbnail) fingers pointing at the camera (Thumbnail) fingers off the keyboard (Thumbnail) fingers on the keyboard (Thumbnail) neutral position, wrist straight, arm dangling down (Thumbnail) back of hand, arm pointing down (Thumbnail)

posted at: 22:30 | path: /chordite | permanent link to this entry

Thu, 02 Mar 2006

Archives

I've been working on building my own Chordite keyboard for a while now. I have electronics that work reasonably well, but I'm trying to figure out how best to make a fixed-size keyboard. The inventor of the keyboard, John McKown, thinks that an adjustable keyboard is required. I think that it's reasonable for people to have to buy a keyboard that fits them, rather than having to fit the keyboard to them, or worse, to have to fit themselves to a one-size-fits-all keyboard.

I've found some nice Marquardt switches. They're designed to be used as keys, unlike the microswitches that other builders have used. They have a short linear throw. I'm using them with corrugated cardboard and hot-melt glue to create various prototype keyboards. If I can make one that fits me well, I'll try to scale it up and down linearly for people with different hand sizes.

posted at: 01:00 | path: /chordite | permanent link to this entry

Wed, 01 Mar 2006

School boards

If you have ever sat in on a school board meeting, you will understand Wiley Miller's point. It seems like they spend so much time on the details of running an enterprise with a several million dollar budget, many employees, fixed assets, books, computers, furniture, and buses, that learning gets lost in the process. But don't believe me. Go sit in on your local school board meeting. See if they ever express any concern that the children actually learn anything.

posted at: 23:59 | path: /economics | permanent link to this entry

Made with Pyblosxom