Tue, 26 Sep 2006
Mark X keyboard
I have a new version of the keyboard, which I built for EuroFoo and
EuroOSCON. This keyboard is much sturdier than the predecessors.
It's made from plywood, shapelock, a pair of metal
hinges, and a battery box with a switch on it.
Fortunately this keyboard has a couple of mistakes in it. I'd like
to make all my mistakes before I go to plastic molding. One mistake
is that my fingers are too splayed outwards. It's just not
comfortable. Another is that the keys aren't exactly beneath my
fingers. And the worst is that the thumb position is parallel to the
palm. It's quite clear to me that the thumb must be pointing at the
fingers. The thumb must be open a good 3/4" to get the correct
effect.
Next keyboard will have more of a hook over the palm. The current
one needs pressure from the thumb to hold it in place. This gets
tiring after a little while.
Posted [16:27] [Filed in:
chordite]
[
permalink]
[
Google for the title] [
digg this]
Mon, 25 Sep 2006
Recognition versus Recollection
I originally posted this on Advogato on 4 Jun 2000.
Advogato might be shut down, so I'm reposting it here.
Jim Gettys gave a keynote speech at Linux Expo, wherein he spoke of
the need to support disabled users. He's quite right. We need to
support them -- not out of any bleeding-heart concern for them. We
need to support them because the interfaces that enable them to use
computers *at all* enable us to make better use of them. A good
interface is a good interface whether you can't see or can't hear or
can't type or can do all of these. In particular, people who can't
see have trouble with a GUI, and people who can't type have trouble
with a command-line.
You may have noticed some tension between users of the command line
and the GUI. There is a very simple explanation. The command line is
based on recollection, and the GUI is based on recognition. This
paper explains why each has its place, and explores ways in which they
can be combined. We start by explaining how a "pure" version of each
works, how they are combined in real life, and how we can use this
perspective to find new avenues for exploration.
Contrasting the two
With a recollection interface, you must recall the correct next step
(for example, to get a directory listing you must remember "ls").
With recognition, you have to recognize that what you are looking at
is a listing of files. With recollection, you must supply the "-l"
parameter to ls to get all information on files. With recognition,
you have to recognize the "View" menu, and the "Details" entry
underneath it.
Recognition is more approachable because it does not require much
training. Recollection is more efficient because it wastes no time on
the recognition search. As a consequence, class distinctions have
been brought into the mix. Typically, new users prefer recognition
because they can get more done. Experienced users prefer recollection
because they can get more done.
These class distinctions are not firm, however, because new users are
only new for a short period of time. Usage *is* training, and the
more they use a recognition interface, the more they wish they had a
recollection interface. Experienced users are not evenly trained, and
in any case have to learn new software from time to time. They often
wish they had a recognition interface, knowing the while that they'll
soon wish they weren't forced to use it.
Recollection Interfaces
Exactly how does a recollection interface work? Actually, initially
by recognition. The first step to recollection is to understand the
current context. Most often in a recollection interface, only a small
set of the possibilities is valid. In the Palm Pilot stroke
interface, only some of the possible gestures are valid. Three of the
gestures are prefix gestures that change the context.
Or consider the Unix command line. It typically starts with a verb
followed by modifiers followed by nouns. The verb is distinguished
from the nouns because it is the first word entered. In order for a
user to accurately enter a verb, they must first recognize that the
command line is empty.
So, in order to reduce the number of choices one must recollect, a
recollection interface retains a context. A typical recollection
interface will have a zero point -- a home position, along with a way
to clear all context. The control-U character is often used in Unix
to clear all characters currently being typed.
A recollection interface will always have a way to remove part of the
input, or to clear back to a certain context. Input mistakes are an
inevitable part of the human-machine interface. The command-line
interface uses Back Space, the Palm pilot uses a left-moving stroke, a
pie menu uses a "click in the middle of the pie".
Recognition Interfaces
Recognition interfaces are easier to learn because the possibilities
are tabulated and categorized. The canonical recognition interface
uses a hierarchical menu. Another form is a button bar. The
advantage of a recognition interface is clear: the user need only
recognize which command they desire.
One cost of a recognition interface is the need to scan through a
large number of commands to locate the desired one. Commands are
always grouped together by function to help reduce this cost.
Another cost of a recognition interface is the large amount of screen
real-estate occupied by the interface. This problem may be addressed
several ways. The items may be represented by small pictures of the
function of the command. Since these pictures do not always invoke
the right concept, they are sometimes accompanied by words which pop
up when the mouse cursor hovers over the picture.
Entire groups of commands may be removed from the screen, only to
reappear when the mouse cursor is clicked or hovers over a special
area of the screen. A new set of commands are added, which expose the
groups of commands. This is how a menu bar works. Sometimes the
entire menu bar itself disappears.
But this creates another cost -- locating the hidden command. If a
method is used to collapse some of the commands, then a command must
be located in its collapsed location. This combines the difficulty of
a recollection interface with a recognition interface.
Combining both interfaces
Each technique can and should borrow from the other. The solution to
the shortcomings of each is to combine both approaches. It's
necessary, though, to preserve the full virtues of both, and not
produce a compromise.
GUIs often have a primitive, bastard-stepchild recollection interface.
One may often press the two-key sequence "Alt-F O" to Open a File.
The Alt modifier introduces the beginning of a command. Essentially
it starts a very short command-line interface. However, it's only
ever used to introduce the verb of the command. Little attention is
paid to the nouns. For example, an advanced recollection system would
allow one to type Alt-F O /etc/passwd <Enter>.
A command line interface could do something similar. The FO command
would open a file, prompting the user for the name of the file. The
F? command would list all the File commands, and simply ? would list
all the types of commands.
The TOPS-10/Kermit/Cisco interface
An example of a very well-done recollection interface with recognition
assist is the command interface first used in TOPS-10, later used in
some implementations of the Kermit data transfer protocol, and
currently available on Cisco's IOS. This interface has two magic
characters which may be typed at any time: HT (tab) and question-mark.
The tab character would complete the current item being entered,
according to the current context. If entering a command, the command
line would be consulted. If entering a filename, the list of files
would be consulted. if a question-mark character is entered, the list
of possibilities is printed.
Summary
Rarely do GUIs implement a recollection interface well. Rarely do
command-line interfaces implement a recognition interface well. We can
do better. We should do better.
Posted [16:06] [Filed in:
opensource]
[
permalink]
[
Google for the title] [
digg this]
Sun, 24 Sep 2006
Art? Or Craft?
I attended EuroFoo Camp and EuroOSCON last week in Brussels,
Belgium. Had fun renewing friendships (Piers, Simon, Gerv, Kristijan Zimmer, Ewan, Zak, Suw, Rob, Simon Wardley), and making
new ones (Debbie, Emily
Zotto, Fabienne Serriere, Jim
Purbrick (aka Babbage
Linden), and Paul Hudson).
Had an interesting chat with Debbie on the flight from Brussels to
JFK. She was wondering why her programmers work from 9 to 5 and don't
personally invested in the products, whereas open source developers
live, eat, and drink the code practically every waking moment. I
speculate that it's similar to the difference between art and craft.
You can craft a sweater, or you can create a piece of artwork in the
form of a sweater.
I think that open source developers are artists, whereas closed
source programmer bees are crafters. Both art and craft take talent,
but art requires passion. There's plenty of passion among open
sourcers.
UPDATE: tigert points out that
Apple has been able to fire up such passion from its coders and designers, so
the dividing line isn't between open and closed source.
Posted [00:30] [Filed in:
opensource]
[
permalink]
[
Google for the title] [
digg this]
Sat, 23 Sep 2006
The Tech Conference Show - MAKE Fest
Posted [12:26] [Filed in:
chordite]
[
permalink]
[
Google for the title] [
digg this]
Thu, 14 Sep 2006
Playing with the big boys
My Nokia 770 playing with the big boys at FOSSSL 2006 in Sri Lanka:
Posted [11:12] [Filed in:
770]
[
permalink]
[
Google for the title] [Tags
fosssl2006,
apacheconasia,
nokia770 ] [
digg this]
Sun, 10 Sep 2006
Ride starting Sun Sep 10 16:10:06 2006
36.37 km 119322.53 feet 22.60 mi
9783.00 seconds 163.05 minutes 2.72 hours 8.32 mi/hr
Went out and back on the Rutland
Trail. Surprised that there were so few people on the trail on such
a beautiful day. I saw one couple on an ATV, a family on four ATVs, one
other bicyclist (but close to Winthrop -- he didn't seem prepared to go
any distance), and two walkers. Trail was nearly dry the entire way. Only
two puddles with visible water.
Saw two date nails in ties used to make a bridge. Gonna pull 'em since
they're facing upwards and going to get worn away eventually. The visible
one was "30", which usually means 1930. That's one old tie! Of course, when
the Rutland ceased operation in 1963 it was only 33 years old; a relatively
new tie. It's been 43 years since the Rutland used that tie.

Posted [19:29] [Filed in:
bicycling]
[
permalink]
[
Google for the title] [Tags
rutlandtrail,
railtrail,
bicycling ] [
digg this]
Sat, 09 Sep 2006
Ride starting Fri Sep 8 13:13:23 2006
55.82 km 183142.20 feet 34.69 mi
12925.00 seconds 215.42 minutes 3.59 hours 9.66 mi/hr
This is part of my series on Riding the Rutland.
Longest ride this season for me: 35 miles. Felt like a wimp on the way
back because I was riding into a 15 mph wind, and hit a bonk. Ouch. But
the way out was simply marvelous, riding with the wind. Hit the Rutland
railbed shortly after crossing into Clinton County. I rode all the way from
Chateaugay because I wanted to make the ride longer (mistake), and because
I wasn't sure quite where I could get on the railbed. There is practically
nothing left of the railbed all the way from Chateaugay to the Clinton County
border, because it ran so close to the highway. In many cases it ran straight
through people's back yards. No way they would tolerate use of it as a
trail. It could only have survived if somebody had bought it and preserved it
as a trail, but nobody was doing that in 1963.
Going east from Chateaugay, the first point at which the railbed is still a
right of way is at County Line Road. Unfortunately, it's also gated and
posted no trespassing. I went to the next road, CR 9, and found it gated and
posted on both sides. Got the owner's name going east, and went back to the
convenience store at the corner of US 11. Called the owner, Richard Decoss.
Too bad -- not home. I thought I'd ask the store clerk if she knew him. She
was nonplussed because .... he's the owner of the store, Dick's Country Store
and Music Oasis. and he was over in the other room. Asked him for permission
and got it, no problem!
I was able to ride from there straight through to Churubusco. It's
labelled as snowmobile trail 8C. In the
hamlet, the railroad went through people's front yards, so they went to the
effort of obliterating any trace of it. No problem since there's a road
parallel to the railbed about 70' to the north. Hopped back on the railbed,
which is now a full-fledged dirt road. It's used to get to a stone quarry
which used to be rail-served. East of Clinton Mills, the railroad goes
through a short (10') cut. Somebody is mining the stones from the edges of
the cut, putting them on pallets and shrink-wrapping them.
The railroad heads due south at this point, continuing on through field,
forest, and wetland. Lots of wetlands. Goes about 30' over a small creek
on a fill. Good thing it was a fill and not a bridge, although .... I'll bet
that if you dig down into the fill, you'll find that it was originally a
wooden trestle. As the trestles got old, the railroads would build a culvert
over the stream, and use dump cars to bury the trestle. Cheaper and less
disruptive of railroad operations than building a new trestle.
At Bull Run Road, the other side of the road was posted "No ATVs", and
was severely grassed-over. Somebody mows it; you can see that, but I think
they're associated with the snowmobile club. I went in a little ways, since I
wasn't riding an ATV, but the grass got too tall for me beyond Brandy Brook,
and I could see that the railbed was brushed over beyond that. So I turned
back. I took a look at Brandy Brook to see if the bridge abutments had any
USGS bench marks, and found one
on the north side of the west abutment.
Turned around and headed home. On the way, I ran into Ellenburg Depot to
see if the southern end of that section was accessible. No hope. The depot
itself is an active business strongly signed "No Trespassing. All Visitors
Report to Office." It's likely that they're trying to discourage
ATVers or snowmobilers from attempting to use the railbed. Other than the
depot being an obvious depot (and on Station Road, to boot), there is no sign
of the railroad. The highway crews took out the north abutment of the
bridge over US11 and the Great Chazy River, but the south abutment remains
as a beautiful cut stone structure.
I turned and went home, uphill and upwind. The rest of this posting
comes from other research (automobile) trips.
The Rutland railbed is completely overgrown on the south side of the
river. There is essentially no sign that a railroad ever went through the
area all the way through Dannemora Crossing, Forest, Irona (although there are
ruins of rail-served buildings there), Altona, and Woods Falls. Finally,
in Mooers Forks you can see several rail-served buildings, and on the north
side of town some snowmobilers and ATVers have been able to carve out a
few miles of the railbed. It continues on to Mooers, where it becomes
overgrown again. The bridge over the Great Chazy River at Twin Bridges is
out, and somebody has used the railbed as their driveway. Very little of the
railbed is open between Mooers and Rouses Point.

Posted [12:57] [Filed in:
bicycling]
[
permalink]
[
Google for the title] [Tags
rutlandtrail,
railtrail,
bicycling ] [
digg this]
Thu, 07 Sep 2006
Stop Claiming Stagnation!
I'd like every leftist who is claiming that the average American is no better off now than 30 years ago to please stop doing that. Or, at least, if they can't stop, I'd like them to stop saying it on the Internet. Because, if wages are really no better, then they can't (in principle at least) afford to use the Internet.
Of course, I believe no such thing .... but they do, and if they believe that they are telling the truth, then they should act on that basis and stop posting their drivel to my Internet.
Posted [03:15] [Filed in:
economics]
[
permalink]
[
Google for the title] [
digg this]
Mon, 04 Sep 2006
Economics in Six Minutes
I don't often merely link to other people's writings, but this one
is a gem. Economics in Six
Minutes. Definitely worth six minutes of your life.
Posted [09:16] [Filed in:
economics]
[
permalink]
[
Google for the title] [
digg this]
Sun, 03 Sep 2006
ATV trails in New York State
In order to understand the ATV issue, you have to keep two points
in mind: first, that because ATVs destroy the trails they ride on,
nobody wants to share trails with them. Second, that because ATVers
have been paying into a dedicated trail fund, they deserve their own
trails.
There should be no question that ATVs destroy their trails. I like
to ride my mountain bike on old railroad beds. Both the Rutland Trail (Norwood and
eastward) and the Rivergate
Trail (Philadelphia and north and west) have some places which
ATVs have turned into mudpits. I haven't heard any ATV riders admit
to this, but the evidence is right there. Just ride along these
trails and you'll see for yourself.
When ATVs have dedicated trails with a management plan, this isn't
a big problem. The Rivergate Trail is managed by the Rivergate
Wheelers ATV club. They have purchased fill, and rented equipment to
position it. They have repaired and replaced bridges. The Tri-Town
ATV club is newer, not as well organized, and the Rutland Trail shows
it. Both these clubs are voluntary organizations, which is great!
But the ability of these clubs to generate funding is suppressed by
the ATV trail portion of the state ATV registration fee.
When ATVs ride off their own trails, they create problems.
Landowners really resent it when they see their trails rutted by ATV
wheels. Snowmobilers have many trails on private property, whose
owners' permission they have because they ride on snow, and don't harm
the trail. Hikers burst a vein if they're hiking along a trail, and
ATV riders come blasting down the trail, making noise and leaving
behind an exhaust smell. Mountain bikers don't want to have to ride
through the trail mudholes that ATVs create. Their sense of being in
the wilderness is dashed by the presence of a motor vehicle. Both of
these groups are harmed by ATV travel on multi-use trails, and yet
they have no negative effects on ATV travel.
There's public funding available for multi-use trails. This is not
a solution for ATV riders because of the trail damage. Multi-use
means horse riders, who require special bridges so as not to scare the
horses. Multi-use means walkers, who travel at a vastly different
speed than ATVs. Multi-use means bicyclists, who require a firm
surface, not a mudhole. Mixing these uses is just asking for an
accident. Nonetheless the Rutland Trail is receiving multi-use
funding this year. I count that as a good thing.
The solution to make peace with the ATV issue is for the state to
put back the funding it stole from the ATV trail budget. Use that
money already paid by ATV riders to start working on trails. Use the
new, higher trail fee added on ATV registrations to create new
trails.
Posted [15:39] [Filed in:
economics]
[
permalink]
[
Google for the title] [Tags
bicycling,
atv,
offroad ] [
digg this]
A War on Retreat
We need a War on Retreat, and a War on Flanking Charges. After
all, we have a War on Terrorism. Why not have a war on every possible
tactic?
Is there anybody else out there who thinks that attempting to
eliminate a tactic of warfare is not possible? Or even if possible,
not wise?
Posted [15:05] [Filed in:
politics]
[
permalink]
[
Google for the title] [
digg this]
NTSB's perspective
An AP article quotes Jim Hall, former chairman of the National
Transportation Safety Board, as saying:
"This is a piece of equipment
that could have saved 49 people from being burned to death," Hall
said. "But because of the economic interest of the aviation industry,"
it is used in only a few planes.
Small wonder that someone associated with the NTSB is in favor of
more safety. Unfortunately, Hall's is a single-minded perspective.
All he's taking into account is airplane safety. Thus, there is no
limit to the amount of money which should be spent on airplane safety,
as long as there are airplane crashes.
I hope that people interested in thinking like an economist can see
the flaw in Hall's perspective. Airplanes are already safer than all
other types of transportation. If you make airplane travel safer by
increasing the amount of money spent on safety equipment, airplane
travel will be more expensive. People will drive instead, which will
make them less safer.
The irony here is that the anti-terrorism steps being taken to make
airplane travel safer will make flying more expensive. More expensive
in terms of the larger number of people needed to carry out these
safety steps, and in the time needed to fly. These steps will
probably not reduce the risk of terrorism, but will turn
people away from safer airplanes to less safe automobiles.
Thank your government for making your travel less safe in the name
of making it safer. After all, that's what you're paying them for: to
force people to make their second-best choice rather than their first.
No need to force them to make their first choice, eh?
Posted [13:20] [Filed in:
economics]
[
permalink]
[
Google for the title] [
digg this]
Sat, 02 Sep 2006
Spitzer, the economic ignoramus
Gentle readers, you are no doubt familiar with Elliot Spitzer's
abysmal lack of understanding of economics ( Go
Away Elliot, Go
Away Elliot 2, Like
A Spitzer With His Head Cut Off, and No
Thanks Elliot). Well, he's at it again. He's quoted in the
Watertown Daily Times (paid site, so no link) as saying, on his visit
to Massena on Friday:
"We've got to educate our kids," he
said. "In India last year there were 350,000 engineers. In the
U.S. there were 70,000. How can we win the battle for new products
when they're out-producing us?"
Practically every phrase is wrong.
- According to Reason Magazine, while India's central planning did
create several high quality technical institutions, it was private
colleges which stepped up to the plate. Four of five
engineering students attend private colleges, making Elliots use
of these engineering students to support public education a mockery of
the truth.
- By "We've got to educate our kids" Elliot means the exclusive "we"
-- that is, he means "the government", not "you". And yet in the
India to which he compares us, private
schools outperform public schools (pdf). These are for-fee
profit-making schools. People willingly pay for them in India, so in
India Elliot's "we" includes citizens.
- While it seems horrific that India has 350,000 engineers and the
US only 70,000 (how can we win??), you need to remember that India's
middle class is larger than the entire population of the US. Let's
look at matters a different way. India's population is 1,095,351,995,
and the US's is 299,630,441. There are 3129 people per engineer in
India, and 4280 people per engineer in the USA. So rather than a 5 to
1 ratio, you have a 4 to 3 ratio.
- These engineers don't work in a vacuum. They need support
services surrounding them to make them effective. India is loosening
up its economy, but still exerts substantial central control. India's
infrastructure is groaning under the load. A hotel room in Bangalore
(which is India's Silicon Valley) costs $400 a night, if you can get
it. The traffic in Mumbai (which I visit yearly) is getting worse and
worse in spite of the building of new bridges and elevated highways.
There are very few miles of high-speed highway in India. Their
economy is very inefficient. The thought of their 300,000 engineers
"winning the battle" against our 70,000 is simply laughable. The
highest goal of many of those engineers is to come work in the
US.
- Finally, speaking of "winning the battle", herein you have
Elliot's compleat expression of his understanding of economics. It is
nil. There is no battle in free market economies. It is not a war.
We can all win. Indians do what they do best; we do what we do best;
and then we trade. Applying militaristic terms to peaceful trade is
more than wrong-headed. It is evil.
Posted [13:06] [Filed in:
economics]
[
permalink]
[
Google for the title] [Tags
elliotspitzer ] [
digg this]
Fri, 01 Sep 2006
Ride starting Thu Aug 31 16:19:54 2006
34.86 km 114369.61 feet 21.66 mi
7929.00 seconds 132.15 minutes 2.20 hours 9.83 mi/hr
Circumnavigated Norwood today. Crossed six railbeds; only one of them
abandoned. Saw a bunch of Amish buggy tracks on the west side of the
river. Stopped by the Vermont Railways engine house. Didn't see any engines
outside. Took a little side trip down the Rutland Trail to see if the
mudholes had dried up in the August heat. They had.

Posted [00:30] [Filed in:
bicycling]
[
permalink]
[
Google for the title] [Tags
rutlandtrail,
railtrail,
bicycling ] [
digg this]