Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
User Journal

Journal Journal: Ideal wristwatch

Lately, I've come to the conclusion that I'd like a wristwatch with a slide rule bezel. I've spent plenty of time playing with slide rules so I'm pretty proficient with their use. Having one on my wrist would be nice.

I've spent time, at various department stores and jewelry stores, explaining to sales clerks what they're good for. Travelling in a foreign land? With a foreign currency? Set the slide rule to the currency exchange value and quickly convert prices between currencies. Simply find the "local" price on one scale and see the other price on the other scale. Are they using metric? And you'd like quantities, distances, etc. in imperial units? Or vice versa? Set the slide rule for the appropriate conversion factor and you're good. If you know what you're doing, you can even do more complicated conversions, like Chilean Pesos / liter to US Dollars / gallon. Or Norwegian Kroner / kilogram to US Dollars / pound. I have done these, and many more, at various points in my life.

There are a few problems with most slide-rule-bezel watches:

  • Most of them put 60 at the 12 o'clock position. That's useful for doing time calculations. I don't anticipate doing that very often. I'd like the 10 at the 12 o'clock position. That way, I can use the minutes on the watch face to calculate logarithms (anyone who's used the L scale on a slide rule, in conjunction with the D scale, knows how to do this). And I don't want any other values cluttering up the space between the minutes and the inner scale. For me, at least, that just gets in the way. I've managed to find one Casio watch where the inner scale moves, so I can line that scale up with 10 = 12 o'clock. For most watches, the outer scale moves and the inner scale is fixed, with 60 = 12 o'clock.
  • With all too many of them, the numbers on the scales are just too small for my aging eyes. I'm looking at you Casio and Seiko.
  • The slide rule bezel is more of a marketing gimmick, so they don't put much effort into being accurate. As an example, line up the 10 in the inner scale with the 10 on the outer scale. Do the numbers line up, all the way around the dial? For some of the lower-priced watches, the answer is "no, they do not." Now, line up the 10 on the inner scale with the 30 on the outer scale. Do the multiples line up? On all too many, the answer is, again, "no, they do not." Which means any calculations you attempt will be inaccurate.

Here's my wishlist, in order of decreasing priority:

  1. Accuracy. Must pass both of the aforementioned tests. Otherwise, it's just "marketing" (translation: lying, bait-and-switch, etc.).
  2. Numbers on the scales are large enough and high-enough contrast that I can see them without needing a magnifying glass.
  3. Either the inner scale has 10 = 12 o'clock OR the inner scale moves so I can set it that way. If you absolutely must put time-conversion numbers on one of the scales, put it on the outer one, preferably outside of the slide rule scale. I want the slide rule scales as close together as possible to limit errors caused by parallax.
  4. No excessive ornamentation getting in the way of the minutes tic marks. I want to be able to see them very clearly so I can calculate logarithms.
  5. A complication (secondary, inner dial) showing time in an alternate time zone (UTC), preferably on a 24-hour scale.
  6. Solar powered, so I never need to change the battery.
  7. Ability to read the time in the dark

Anyone know of a watch which fits the bill? Citizen makes some which fit most of these, but not #3. Casio makes one which fits #3, but fails on #2 (possibly #1 as well).

User Journal

Journal Journal: Programming != Type: Redux

Coding by voice

Do you really need to use a keyboard to do programming?

If you're using a smartphone or a tablet, which has an accelerometer, you could tilt the device to navigate around in your program.

User Journal

Journal Journal: Time to update the Metropolis keyboard

Many years ago, some researchers at IBM came up with a design for an on-screen keyboard. They analyzed the QWERTY keyboard, the FITALY keyboard and a couple others, determining how fast someone could type on them. QWERTY scored lower than any other, around 30 wpm. Their keyboard scored > 40 wpm.

Details can be found here

They get into a long analysis of Fitts Law, which explains how long it will take to move from one character to another. It's logarithmically related the ratio of how far it is from one key to another to how big the destination key is. Based on this, they come up with a hexagonal pattern to make their keyboard more "dense" and arrange the characters such that the most commonly used transitions (digraphs/trigraphs) are as close together as possible.

They're assuming every key on their keyboard will have a unique symbol on it. That might work for something like a tablet, but it stinks on a modern smartphone. I can't use a traditional keyboard on mine. My fingers are too fat. I find myself getting a pretty good input speed with a compact- or T9-formatted keyboard. Larger buttons are easier to hit/more forgiving; more forgiving = faster, assuming that the text prediction software is any good.

Let's take another look at Fitts Law, again. The shorter the distance from one key to another, the faster you get there. No surprise, there. But it's inversely proportional to the size of the key. Bigger keys mean faster response.

What happens if you put two characters/symbols on each key? Can you just take their keyboard and squash 2 adjacent symbols onto the same key and depend on text prediction to make up the difference?

Their original design for the keyboard was nearly circular. After all, the shape with the shortest distances from random-point-a to random-point-b is going to be a circle. Joining multiple symbols into a single key is going to be problematic. Maybe joining 3 at a time would get the job done.

They also designed it with a single "space" button in the middle. This is because, within most text corpi, the space is the single-most-used symbol in the bunch. After all, it's used as the separator between each word, and some of those words (such as "I" and "a") are single letters. I'm thinking that rates either an oversized "space" area (as with the oversized space bar on hardware keyboards and the oversized "space" on most on-screen keyboards) or multiple "space" areas (as with the OPTI and FITALY keyboards).

I think it's time to re-do the analysis done in that paper, with an eye toward putting 2-3 symbols on each key. If you have a cluster of letters which are on the low-end of the frequency distribution, it might make sense to put them on the same key. Letters on the high-end of the frequency distribution might rate their own key. The whole idea is to get the number of keys down, so the individual sizes can be larger.

My biggest worry is that you'd end up with multiple of the vowels on a single key and the text prediction software would have a very difficult time figuring out which word you're attempting to input. I have no idea how to design the layout to make the text prediction more efficient. I know that it tends to be more efficient with a compact keyboard than with a T9 keyboard, because compact has fewer symbols / key.

Anybody have any ideas how to approach this?

User Journal

Journal Journal: Programming != typing

A while back, I was looking at a forum where someone asked if you'd use a tablet to do computer programming. Most of the responses were centered around "typing is slow/awkward on a tablet."

I agree. Typing is awkward. But, who says programming has to equal lots of typing? Yes, it does, currently. But does it have to?

I took a compilers course a few years ago. One of the things which I learned in that course was that a compiler does multiple steps, largely in series, where each one feeds into the next, with the object code being the final result.

The first step: going through the code, recognizing various kinds of constants, keywords and potential identifiers (variable names, class names, function/method names). Once it has a sequence of these, the next thing is to create something known as an Abstract Syntax Tree. For example:

a = b + c * d

Would be turned into a tree of nodes, containing operations, variable or constants. At the top, is an equals sign (assignment). "a" is on the left and "+" is on the right. The "+" also has nodes extending below it, "b" on the left and "*" on the right. The "*" also has nodes extending below it, "c" on the left and "d" on the right.

The next thing which usually happens is to "decorate" the tree. If "a" is a double and "b", "c" and "d" are all integers, we need to mark the "*" and the "+" as integer math, but we need to do some kind of implicit casting before the assignment. Usually, you "decorate" the various variables according to what type they are, then deal with the operations, then figure out where one type needs to be cast to another.

An interpreter or a compiler will start at the lowest point on the tree and work its way up. So, the aformentioned code becomes integer:c * integer:d, with the result being added to integer:b, with the result being cast to a double the assigned to double:a.

Most programs have more than one expression. Quite frequently, if you calculate "a" in one expression, then use "a" in the next expression, you could rewrite the two expressions as one. Shorter expressions, though, tend to be easier for a human to read, which is why only sadists and functional programmers (like me) tend to bother with creating really long expressions.

It doesn't really matter what source language you're starting with; whether you're using Java, C++, RPG, Cobol, Perl, PHP, Ruby or Javascript, the starting point is ALWAYS to turn it into a tree.

So, if the code you're writing is going to be turned into a tree, why can't you just create a tree? Such things tend to be awkward when you're using an interface dependent on a mouse and a keyboard, but they're much more natural in a touch-screen environment (tablet).

Something else I learned from that compilers course. Do you know what you get if you create a serialized version of the Abstract Syntax Tree, using prefix notation (such as "+ a b") instead of infix notation (such as "a + b") and put each simple expression inside a set of parentheses?

Lisp.

Indeed, the reason Lisp has such power over certain groups of programmers is that you're almost explicitly creating an Abstract Syntax Tree, in text. And it provides the means, not only for the programmer to create an AST, but also to programmatically create and manipulate ASTs. In other words, you can write code whch writes/modifies code. And you aren't doing anything as clumsy as putting together a string and running

eval(stringVariableContainingProgramCode);

You're starting one or two levels down the chain from there, with the initial parsing steps already done.

As such, the first step toward creating a touch-screen code development environment would be to create something which lets you drag various Lisp commands from a palette of commands, drop them onto the tree, and then execute the whole thing. From there, the next question becomes: do you want output in Lisp, or can we run some kind of code generator on this tree to create output in some other, more commonly used language?

Note: anything which can be done from XML or XSL can be done from Lisp. If we can drag-and-drop components into a Lisp program, we can also drag-and-drop components into XML and any of its derived forms (such as HTML, XHTML, HTML5, etc.).

So, would you use a tablet for writing code?

Transportation

Journal Journal: As seen on Waterworld 1

Another idea.

I was watching "Waterworld" the other night. I'm rather enamored with the Mariner's trimaran (boat). I like the vertical axis wind turbine (VAWT) on the mast. But, just how would you do that?

Here's my thought.

You make something like a cross between a Darrieus turbine and a Gorlov Helical Turbine. In short, one of those twisted, multi-blade, egg-beater-looking turbines. Mount it with the central axis on the mast.

O.k. That leaves you with no way to put sails up. The blades will sweep into the area occupied by the main sail and any jib you may have.

Unless, of course, you build the blades of flexible material. Make the upper hub able to lower down the mast, bowing the blades outward into the wind, or rise up the mast, pulling the blades in flat, against the mast. This would give you a way to completely stow the blades, for those times when you want to use sails. It would also give you a way take the turbine out of the wind in gusty conditions, when the sudden gusts could overstress the mast or capsize the boat.

O.k. So, why would you WANT one of these on your boat? Well, if the bottom hub has a generator in it, it would provide a significant amount electricity when your sails are stowed and you are sitting at anchor/in port, etc. That would be a considerable amount MORE electricity than you'd get with a traditional wind turbine, mounted elsewhere on the hull.

I can imagine a boat with a couple "auxiliary/maneouvering screws" powered by electricity, with some batteries. Charge up the batteries while you're sitting at anchor, and use stored electricity to move in/out of port.

Depending on the efficiency of the whole system, and the swept area of the turbine, you might even be able to run the turbine and have it feed power to the screws for regular propulsion, if you are going to be changing course frequently and don't want to fight with the sails.

I'd be interested in hearing the thoughts of others, on this idea.

Transportation

Journal Journal: Electric busses with minimal infrastructure 1

I had an idea, this last week.

We went on vacation, recently. While in Seattle, WA and Vancouver, BC, we saw plenty of electric busses. They have long poles on the back which hold up electric contacts, which connect with overhead catenaries (conductive, electrical wires) to provide current. Plenty of people complain about what an eyesore those cables are. Additionally, since the busses can only go where the wires go, the routes are kinda limited. It's a bit like a cross between electrically-driven light rail and traditional bus service. The electric busses can only go where the catenaries go, but they don't have the added expense of building rails.

So, what if you could make a bus which only occasionally needed connectivity to recharge?

The bus drives around on normal city streets. Occasionally, it pulls into a bus stop and, while passengers are loading and unloading, it puts a contact up or down, connects with electrical power and rapidly recharges. I could see two ways to do this:

  1. the bus has a pantograph on the roof, which extends up to an overhead catenary, which is only found at select bus stops
  2. the bus puts a "foot" down onto the ground, which sits on top of a inductive charging device (like the "paddles" used on the EV-1, only much larger); this transfers a significant amount of current, even when wet, without the possibility of electrocution, so it can be built into the road

There would be a limited number of charging points, so there would still be some limitations on routes, but not nearly as much as a bus which needed a constant electrical supply. Minimal eyesores, as well. The latter could be built into the road, keeping the overheard area completely clear.

Various companies are working with ways to make high-charge-rate (and high-discharge-rate) batteries, and there are always supercapacitors, but I'm thinking of running a pump to build up hydraulic pressure, then run the bus as a hydraulic hybrid. If you could get enough hydraulic capacity to cover 5 miles of level ground, you could hit quite a few stops without needing much more infrastructure than a traditional, diesel-powered bus. And yet, you wouldn't have the pollution of the diesel-powered bus. Instead of waiting on new technologies which are still under development or under limited production (the aforementioned batteries and supercaps), hydraulic hybrid systems tend to use off-the-shelf parts.

This idea could be extended further to light-rail systems. Since steel wheels on steel rails have less rolling resistance than rubber tires on pavement, a given amount of hydraulic storage would go further in a light-rail system. Also, since the vehicles tend to be larger, they would (presumably) have more room for hydraulic storage.

For either bus or light-rail, the pantograph would seem to be the better idea. If you want either vehicle to be able to recharge without stopping, you could put in a short distance of electric catenary (say 1/4 mile) and the vehicle could contact it while in motion. You don't have to be stopped to use that system, unlike the inductive charger.

Imagine a hydraulic hybrid bus, without an actual engine on board. It would have an electrically-powered pump, but the electricity would come from outside sources.

I'd like to see that happen.

Announcements

Journal Journal: People of the DC Beltway, MBTP ALERT!

Montag Weatherwire
04 December in the year of our Lord, 2007

Snow is falling in Arlington, VA NOW! Hurry, get on the METRO, get to your cars, drive on the sidewalks, run over trash cans, BUY ALL OF THE MILK, BREAD AND TOILET PAPER THAT YOU CAN!

Then abandon your vehicles in the most disruptive locations possible, like major intersections!

This has been a public service of Guy Montag, humanitarian.

It's funny.  Laugh.

Journal Journal: LEEEAVE HILLARY ALLLLLONE!.....Please. 3

How friggin dare anyone out there make fun of Hillary after all she has been through. She lost her free house, she went through an impeachment. She has one friggin kid. Her husband turned out to be a user, a cheater, and now shes going through a political battle. All you people care about is..... readers and making money off of her. SHE'S A HUMAN! What you don't realize is that Hillary is making you all this money and all you do is write a bunch of crap about her. She hasn't performed on stage in days. Her song is called "give me more" for a reason because all you people want is MORE MORE MORE MORE MORE. LEAVE HER ALONE! You are lucky she even performed for you BASTARDS! LEEEAVE HILLARY ALLLLLONE!.....Please. Paris Hilton talked about professionalism and said if Hillary was a professional she would've pulled it off no matter what. Speaking of professionalism, when is it professional to publically bash someone who is going through a hard time? Leave Hillary Alone Please.... Leave Hillary Clinton alone...right now! I mean it. Anyone that has a problem with her you deal with me, beacuse she is not well right now. leave her alone!

Original here.

Democrats

Journal Journal: Unfair comments toward the Honerable Mrs. Clinton? 2

So, the Honorable Mrs. Clinton has been "swiftboated"? In my book, it means that a liar has been brought to-rights, but okay.

She also serially flip-flopped on the same ILLEGAL immigrant issue .5 dozen times in a few days? She was for it, before she was against it THREE TIMES?

Her underlings put on notice the next questioner, Wolf Blitzer, not to "pull a Russert"?

Mrs. Clinton is the Honerable John Kerry, in pants.
QED

Slashdot Top Deals

Saliva causes cancer, but only if swallowed in small amounts over a long period of time. -- George Carlin

Working...