Slashdot Mirror


User: SimHacker

SimHacker's activity in the archive.

Stories
0
Comments
1,231
First seen
Last seen
Profile
(view on slashdot.org)

Comments · 1,231

  1. Re:Assistive AI on The Ultimate Dual-Hand Touchscreen · · Score: 1

    Assistive AI was perfected years ago, at Roanoke AI Laboratories.

    -Don

  2. Two trackpoints on one keyboard on The Ultimate Dual-Hand Touchscreen · · Score: 2, Interesting

    Ted Selker invented the "joy button" red keyboard cursor control thingie, and developed the "Trackpoint" at IBM's User Ergonomics Research Lab. (Anybody remember the "So Hot We Had to Make it Red" two page Thinkpad ad?)

    At one of the New Paridigms for Using Computers conferences, he demonstrated a custom Thinkpad he'd modified to support two Trackpoints at once! It was an inexplicably attractive and approachable interface: operating the computer by tweaking two red nipples! Unfortunately the keyboard was not drool-proof.

    He demonstrated another cool custom keyboard job with a piezoelectric buzzer under the Trackpoint, that gave tactile feedback as the cursor moved across textured surfaces and over edges.

    He also made conference badges that clip onto a Trackpoint to measure physical motion and position -- it's so sensitive it can be used as a postage scale, wind speed sensor, seismograph and accelerometer.

    Unfortunately none of those cool weird technologies made it into production. They require special APIs and deep modification of the desktop user interface and applications, in order to meaningfully exploit the special hardware. Take a look at the DirectX force feedback API that eventually came along, for example -- it's quite complex, and not many applications support it. Applications would have to know about the special hardware and go out of their way to support it, which just won't happen soon, because current user interfaces and applications are extremely inflexible, and have brittle, device-dependent user interfaces.

    -Don

  3. Re:Touchscreen keyboards on The Ultimate Dual-Hand Touchscreen · · Score: 1

    The TOPS-20 command line was certainly self-documenting, with full auto completion. When the Arpanet only had 8 bits of address space, it even had auto-complation over all host names, so you could go:

    @tel[esc]NET ?[lists out all telnet options and parameters] mit-?[lists out all matching hosts]mul[esc]TICS

    I knew somebody on a TOPS-20 system with a long hard to spell Polish last name, whose nick name in real life was pyz[escape]. You could just type "finger pyz[escape]" and the finger command completed with user names, telnet completed with host names, del completed with file names, etc. All commands had built in documentation and completion, integrated with the shell. Many years ago.

    The problem is that Unix was such a huge leap backwards in terms of usability, that these incremental hacks and kludges you call improvements still haven't gotten us back to where other operating systems were several decades ago.

    -Don

    Escape Recognition, Noise Words, Help

    One of the most favored features among TOPS-20 users, and one most identified with TOPS-20 itself, is "escape recognition". With this, the user can often get the system to, in effect, type most of a command or symbolic name. The feature is more easily used than described; nonetheless, a brief description follows to aid in understanding the development of it.

    A Brief Description of Recognition and Help

    Typing the escape key says to the system, "if you know what I mean from what I've typed up to this point, type whatever comes next just as if I had typed it". What is displayed on the screen or typescript looks just as if the user typed it, but of course, the system types it much faster. For example, if the user types DIR and escape, the system will continue the line to make it read DIRECTORY.

    TOPS-20 also accepts just the abbreviation DIR (without escape), and the expert user who wants to enter the command in abbreviated form can do so without delay. For the novice user, typing escape serves several purposes:

    * Confirms that the input entered up to that point is legal. Conversely, if the user had made an error, he finds out about it immediately rather than after investing the additional and ultimately wasted effort to type the rest of the command.

    * Confirms for the user that what the system now understands is (or isn't) what the user means. For example, if the user types DEL, the system completes the word DELETE. If the user had been thinking of a command DELAY, he would know immediately that the system had not understood what he meant.

    * Typing escape also makes the system respond with any "noise" words that may be part of the command. A noise word is not syntactically or semantically necessary for the command but serves to make it more readable for the user and to suggest what follows. Typing DIR and escape actually causes the display to show:

    DIRECTORY (OF FILE)

    This prompts the user that files are being dealt with in this command, and that a file may be given as the next input. In a command with several parameters, this kind of interaction may take place several times. It has been clearly shown in this and other environments that frequent interaction and feedback such as this is of great benefit in giving the user confidence that he is going down the right path and that the computer is not waiting to spring some terrible trap if he says something wrong. While it may take somewhat longer to enter a command this way than if it were entered by an expert using the shortest abbreviations, that cost is small compared to the penalty of entering a wrong command. A wrong command means at least that the time spent typing the command line has been wasted. If it results in some erroneous action (as opposed to no action) being taken, the cost may be much greater.

    This is a key underlying reason that the TOPS-20 interface is perceived as friendly: it significantly reduces the number o

  4. Re:Vastly different than Touchscreen keyboards on The Ultimate Dual-Hand Touchscreen · · Score: 2, Informative

    Multi-point gesture interfaces go back a whole lot further than 2001. What's so special and original about Diamond Touch? Other than the obvious advantage s of being built out of modern technology, how does it compare with Myron Krueger's work, which goes back to 1969?

    -Don

  5. Re:Touchscreen keyboards on The Ultimate Dual-Hand Touchscreen · · Score: 0

    No, I'm not making any such claim. I'm pointing out that maybe it's not such a bad idea to rewrite applications and redesign user interfaces to account for new input technologies at least every 10 years or so. I won't make any excuses for the fact that the Unix/Linux community is still using the same old command line shells after all these years, and still trying to play catch-up with Windows 3.1, nor will I attempt to claim that real men use the keyboard for everything so it's a good thing that Linux is so awkward to use with a mouse (the unspoken implication being that Linux isn't for women, which my mom would disagree with).

    -Don

  6. Re:Vastly different than Touchscreen keyboards on The Ultimate Dual-Hand Touchscreen · · Score: 1

    Wow, I just saw one of thoes for the first time last week. They're really cool. A friend of mine was folding one of them up and taking it between work and home with him because he liked it so much, and he only had one because you can't get them any more. He said they were going for about $500 on eBay. I would say that's pretty special.

  7. Re:Vastly different than Touchscreen keyboards on The Ultimate Dual-Hand Touchscreen · · Score: 1

    I mean special in the sense of comparing multi-point input to normal single-point touch screens. Some people who haven't read the article are asking questions like "There have been touchscreen keyboards for quite some time now... So what's so special about this?" I am certainly aware of previous multi-point input systems. (See the excerpt about Myron Krueger's Videpplace I posted from Jakok Nielson's CHI'88 trip report, and the description of the Exploratorium exhibit from the early 90's).

    -Don

  8. Myron Krueger's Videodesk System on The Ultimate Dual-Hand Touchscreen · · Score: 2, Informative

    Here's a description of Myron Krueger's classic Videodesk system, from Jakob Nielson's CHI'88 Trip Report (in which he also described our presentation of pie menus).

    -Don

    Videodesk: Computing on the Desktop

    Current marketing trends in the personal computer business emphasize "desktop this" and "desktop that" - desktop publishing, desktop presentations, desktop video, desktop CAD... as a catch phrase for doing things on small, desktop computers. It is also possible, however, to actually do computing on the desktop itself. This was demonstrated by Myron Krueger from the Artificial Reality Corporation in the Videodesk system: Videodesk consists of a large surface over which you move your arms, hands, and fingers. A video camera mounted over the desk picks up these movements and use them as input to the computer which then shows then as an outline on the display. This display is currently separate from the desktop surface but one might imagine that a future system would feel even more natural to the user by having the output display projected directly onto the input surface.

    Several applications were shown. One of the most immediately understandable was a finger painting system where the color used was determined by the number of fingers shown. I asked Krueger why the system deposited the paint over the user's finger rather than under it which might have seemed more natural. His answer was that sometimes one would not want the hand to obscure the work being drawn.

    The painting was cleared by spreading all fingers. Some of these gestures seemed very natural, including the clearing gesture. Gestures in other applications were not that obvious but still frequently very nice, such as having a straight line appear between two fingertips in a CAD-system. One problem they had in developing their gestural language was in parsing hand movements to determine when you just want to move your hand to another part of the screen and when you want to issue a command. In general, there seemed not to be much consistency in the interaction techniques used in the different parts of the system with the exception of the technique of reaching to the upper right corner of the screen to pull out the main menu.

    Videodesk is really a special version of the older Videoplace system where the computer is an entire room which you enter to use your body as input device. As such, Videodesk was yet another example of the evolutionary trend at this CHI. The full Videoplace system was not available for the conference as it was installed as part of a large exhibit on Computers and Art at the IBM Building in New York. This was a very interesting exhibition which I had seen by accident before coming to Washington: I had originally jumped on the M2 bus to go uptown to the Metropolitan Museum when I looked out the window and saw a poster at the IBM Building for their special exhibition. Yet another advantage of not using a constrained "transport interface" like the subway: You can change your mind.

  9. Re:Benefits vs cost on The Ultimate Dual-Hand Touchscreen · · Score: 1

    What's so hard about using touch screens for the average consumer? They had to learn how to use mice, and it didn't kill them. I don't know of many ATMs that use mice, but a whole lot of them use touch screens, and they seem to be pretty popular with consumers.

    But the point of this article that some people seem to be missing, is that the device is much more advanced than a typical touch screen, because it can sense multiple points of contact at once. Which is an advantage for people who have more than one finger. Why only use 1/10th of the fingers you were born with?

    -Don

  10. Re:Touchscreen keyboards on The Ultimate Dual-Hand Touchscreen · · Score: 2, Insightful

    Just as keyboard driven applications had to be rewritten to accept input from mice. Horribly traumatic, wasn't it?

    -Don

  11. Vastly different than Touchscreen keyboards on The Ultimate Dual-Hand Touchscreen · · Score: 5, Informative

    What's special is that it can sense more than one point of contact at once. In fact not just "more than one" but "any number of" points of contact in parallel. It's a totally different ball game than standard touch screens. A typical touch screen only reports one X,Y position at a time (like a mouse), which is typically the average of the points of contact (depending on the pressure, and the type of touch screen of course).

    -Don

  12. The Exploratorium had an exhibit like that on The Ultimate Dual-Hand Touchscreen · · Score: 4, Interesting

    The Exploratorium in San Francisco had a multi-point touch screen paint system like this in the early 90's, which anyone could play with. It was really great, and quite elegant! It was running a fun program that let you paint with your fingertips, real paintbrushes dipped in water, as well as textured objects like a sponge and play-dough. It used an oblique video camera behind a plate of glass, and your fingers or the wet brush changed the index of refraction in a way that would show up brightly on the camera, and thus paint on the screen. There was no limit to the number of points you could paint at once, and what you could use as a brush was only limited by your imagination and what you could get away with in public: you could paint with brushes, sponges, clay, your fingertips, the palms of both hands, your face, your tongue, your boobs, greasy french fries and hamburger patties, or vomit on the screen to make interesting textures. (It's a good thing the Exploratorium makes everything robust, kid-proof, and easy to clean! I've been to some great parties at that place...)

    -Don

  13. Kafka's Republican Metamorphosis... on Wasp Larvae Feed on Zombie Roaches · · Score: 1

    I had a dream that I was a cockroach, and that wasp Ann Coulter stuck me with her stinger, zombified my brain, led me by pulling my antenna into her nest at Fox News, and laid her Neocon eggs on me. Soon a fresh baby College Republican hatched out, burrowed into my body, and devoured me from the inside. Ann Coulter's designs may be intelligent, but she's one cruel god.

  14. Re:Python looks like a mess to me on Beginning Python: From Novice to Professional · · Score: 1
    Can you guess what I think the __worst__ __thing__ about Python is?

    The double underscores around special names like __init__?

    -Don

  15. Haskell rocks! on Beginning Python: From Novice to Professional · · Score: 1

    That's quite true: Haskell's notion of pattern matching is much more powerful and extensible than mere regular expressions.

    Jim Clark's Haskell implementation of the derivative algorithm for validating Relax NG is a wonderful example of how powerful, elegant and concise Haskell is. Relax NG is all about tree structured regular expressions over "hedges" (mixed trees of XML elements and text). It's based on the same automata theory as regular expressions, extended to describe "hedges" (XML documents).

    An Algorithm for RELAX NG Validation By James Clark, January 07, 2001. Author's note to XML-DEV: 'I have written a paper describing one possible algorithm for implementing RELAX NG validation. This is the algorithm used by Jing, which I believe has also been adopted by MSV... If you try to use this to implement RELAX NG and something isn't clear, let me know and I'll try to improve the description.' From the introduction: "This document describes an algorithm for validating an XML document against a RELAX NG schema. This algorithm is based on the idea of what's called a derivative (sometimes called a residual). It is not the only possible algorithm for RELAX NG validation. This document does not describe any algorithms for transforming a RELAX NG schema into simplified form, nor for determining whether a RELAX NG schema is correct. We use Haskell to describe the algorithm. Do not worry if you don't know Haskell; we use only a tiny subset which should be easily understandable." Jing is a validator for RELAX NG implemented in Java;

    Another interesting Haskell library for XML is HaXml:

    Consider Haskell in lieu of DOM, SAX, or XSLT for processing XML data. The library HaXml creates representations of XML documents as native recursive data structures in the functional language Haskell. HaXml brings with it a set of powerful higher order functions for operating on these "datafied" XML documents. Many of the HaXml techniques are far more elegant, compact, and powerful than the ones found in familiar techniques like DOM, SAX, or XSLT. Code samples demonstrate the techniques.

    Here's some more stuff about Relax NG, comparing the Haskell implementation to the Java implementation (jing): Maximizing Composability and Relax NG Trivia:

    Here's some interesting stuff about the design and development of Relax NG:

    James Clark wrote about maximizing composability:

    First, a little digression. In general, I have made it a design principle in TREX to maximize "composability". It's a little bit hard to describe. The idea is that a language provides a number of different kinds of atomic thing, and a number different ways to compose new things out of other things. Maximizing composability means minimizing restrictions on which ways to compose things can be applied to which kinds of thing. Maximizing composability tends to improve the ratio between functionality on the one hand and simplicity/ease of use/ease of learning on the other.

    Clark describes the derivative algorithm's lazy approach to automaton construction:

    I don't agree that <interleave> makes automation-based implementations impossible; it just means you have to construct automatons lazily. (In fact, you can view the

  16. Perl and PHP references suck on Beginning Python: From Novice to Professional · · Score: 1

    Oh come on, face it: reference were thrown into Perl as an afterthought, and they're kludgy, badly designed, overly complex, absolutely horrible and unnecessarily subtle. PHP is crippled with the exact same problem, because it's a cargo-cult programming language, which tries to ape the superficial aspects of Perl and C++, instead of having a clean well thought out design.

    References in Perl and PHP disingenuously try to LOOK like C++ references by using the same punctuation character (thus misleading C++ programmers into thinking they understand what's going on), but they're each totally different ad-hoc kludges thrown in long after the base language was designed. At least C++ references are well defined in terms of pointers, so there aren't so many horrible edge cases that cause the interpreter to core dump:

    Bug #30674: Unexpected results and core dump with recursive references serializing
    Bug #32660 Assignment by reference causes crash when field access is overloaded (__get)
    Bug #22237 PHP crashes when class references property using variable variable
    Bug #34277 array_filter() crashes with references and objects
    Bug #22510 Zend Engine crashes calling FREE_ZVAL from zend_assign_to_variable_reference
    Bug #16387 PHP loop when using reference to an object in an object (both in session)
    Bug #34137 assigning array element by reference causes binary mess
    Bug #32179 xmlrpc_encode() Segmentation fault with recursive reference
    Bug #31525 object reference being dropped. $this getting lost.
    PHP: References Explained:

    Since references are more like hardlinks than pointers, it is not possible to change a reference to an object by using that same reference. For example: The following WILL NOT WORK as expected and may even crash the PHP interpreter:
    $object =& $object->getNext();
    However, by changing the previous statement to use a temporary reference, this WILL WORK:
    $temp =& $object;
    $object =& $temp->getNext();

    Face the reality: This is just the tip if the iceberg, a few samples of the many hard crashes caused by the half baked implementation of references in PHP, because it's such a horribly designed and deeply flawed language. Those crashes are actually caused by bugs in the programming language itself, even though the programmers were following the rules -- but there's no way of counting the zillions of actual PHP and Perl programs that crash or produce incorrect results because the people who wrote them don't understand the subtleties and limitations of PHP and Perl references.

    References in Perl and PHP are unlike references in any other reasonably designed programming language: they totally suck. They're extremely hard to understand, but sometimes they still crash the interpreter, even if you do understand them perfectly and use them correctly.

    -Don

  17. Break out the fat suit! on How To Get Free Stuff At Shows · · Score: 1

    Dress up in regular work clothes. If the hand truck doesn't work, then try wearing one of these!

    -Don

  18. Hand truck: Get in free and out with lots-o-stuff! on How To Get Free Stuff At Shows · · Score: 2, Insightful

    If you have a hand truck, you don't need no stinkin' badges!

    You can get into many shows for free simply by pushing a hand truck into the loading dock service entrance. (And that makes it easy to leave with a lot of stuff, too!)

    Once I got into a conference at Moscone that way, but it turned out I was in the wrong conference -- the right one was across the road in the other auditorium (through the underground tunnel). So I just pushed the hand truck out the exit of the wrong conference, down the tunnel, and straight into the front entrance of the right conference. They saw the hand truck, and waved me through the front entrance without any trouble!

    -Don

  19. IE-only sites usually don't work on MacIE on Give Mac Explorer to the People? · · Score: 1

    Mac IE and Windows IE are two totally different beasts. IE only sites usually only support Windows IE, not Mac IE.

    -Don

  20. No Vulgar Raymondisms: Users don't review code. on Give Mac Explorer to the People? · · Score: 4, Insightful

    Please stop spreading the Vulgar Raymondism that the Firefox code is read by millions of users. Have you read it yourself? I'll bet not! Most users and even programmers DO NOT read source code. You only hurt the open source / free software movement when you dump out steaming piles of horse shit like that. There are enough valid reasons to use open source / free software like Firefox, that you don't need to lie about it.

    -Don

  21. CyberDog rocks! Bring it back instead of MacIE! on Give Mac Explorer to the People? · · Score: 1

    Still using CyberDog??! Now THAT's cool!

    Apple has swept under the rug and whitewashed all their old promises about the wonders of component software as delivered by CyberDog and OpenDoc. The old NeXT Step crap they have now simply can't compare to the runtime flexibility of OpenDoc and CyberDog (or even HyperCard, for that matter), which they flushed down the toilet and tried to forget about. Apple is embarassed for anyone to bring it up, since years ago CyberDog did cool stuff that you still can't do today with Safari (and don't hold your breath).

    -Don

  22. ActiveX on Mac on Give Mac Explorer to the People? · · Score: 2, Interesting

    Actually, ActiveX does run just fine on the Mac, and has for a long time. I used it in 1996 to develop a plug-in system for a visual programming language called Bounce, and Mac Common Lisp). Metrowerks actually modified their C++ compiler to support it (adding a _comobject magic class that you can inherit from to get the vtable pointers formatted in the right place so multiple inheritance and QueryInterface worked together properly). Microsoft used it to port IE to the Mac, and paid Metrowerks to make the modifications to support it.

    ActiveX/COM is actually quite a cool and useful technology, which is why Firefox uses XPCOM on all platforms, a clone of ActiveX/COM. Mozilla's XPCOM isn't the only clone of COM: before Mozilla developed XPCOM, Macromedia developed their own ActiveX clone called MOA on all platforms. mTropolis mFactory also had its own COM clone called MOM. There are actually lots of COM clones, many of which are incompatible with the real thing and require their own special tool chains to develop plug-ins (which is ironic since the goal of COM was cross language binary compatibility).

    And yes, MacIE is a horrible wretched piece of crap, and open sourcing it would be a pointless waste of time. The JavaScript interpreter is uselessly sub-standard, and the DHTML implementation is missing many important features.

    Microsoft hired a bunch of excellent Mac programmers to develop it, and they wrote much of their own code base from scratch (using the Metrowerks Powerplant gui toolkit, totally different than the new Aqua [old NeXT Step] libraries), but Microsoft pulled the rug out from under them before they could fix any of the bugs, and wouldn't let them support it, instead diverting them to other projects like WebTV. So it's languished for many years, and even if it were open sourced, it would be an enormous amount of work to bring it up to being compatible with modern web browsers.

    -Don

  23. Classic stupid argument against GC on Learning Java or C# as a Next Language? · · Score: 1

    It's been a while since I've seen somebody trot out the old ridiculous "I don't need garbage collection because I'm so smart I don't make mistakes" argument. I guess you also use your hand instead of toilet tissue because your shit doesn't stink, huh?

    -Don

  24. Re:Fully Modular on New, Modularized X Window Release Now Available for Download · · Score: 1

    Common Lisp's old CLX X11 client library doesn't use XLib. Of course that's why you can't use any X extensions with CLX that depend on other support libraries linking to XLib (like Display PostScript). Non-XLib interfaces to X11 are a dead end, because there's no vendor support for anything but XLib.

    -Don

  25. Re:Fully Modular on New, Modularized X Window Release Now Available for Download · · Score: 1

    Please explain the mechanism by which your X application recovers from the server disconnection, and reconnects with the server after it restarts. Does it just keep trying to reconnect until another X server comes up at the same IP address? How do you prevent a hacker from replacing your point of sale terminal with their own computer at the same IP address, and taking over your application? Sounds like an incredibly enormous security hole for a financial application to have.

    Maybe there's a damn good reason other X applications don't behave that way. I hope you don't get sued for developing such an insecure financial system. Where can I see the system in action and test it out myself? Sounds like some lucritive fun!

    -Don