[#6363] Re: rescue clause affecting IO loop behavior — ts <decoux@...>

>>>>> "D" == David Alan Black <dblack@candle.superlink.net> writes:

17 messages 2000/11/14
[#6367] Re: rescue clause affecting IO loop behavior — David Alan Black <dblack@...> 2000/11/14

Hello again --

[#6582] best way to interleaf arrays? — David Alan Black <dblack@...>

Hello --

15 messages 2000/11/26

[#6646] RE: Array Intersect (&) question — Aleksi Niemel<aleksi.niemela@...>

Ross asked something about widely known and largely ignored language (on

23 messages 2000/11/29
[#6652] RE: Array Intersect (&) question — rpmohn@... (Ross Mohn) 2000/11/29

aleksi.niemela@cinnober.com (Aleksi Niemel) wrote in

[#6723] Re: Array Intersect (&) question — Mathieu Bouchard <matju@...> 2000/12/01

> >Use a hash. Here's code to do both and more. It assumes that

[#6656] printing/accessing arrays and hashes — raja@... (Raja S.)

I'm coming to Ruby with a Python & Common Lisp background.

24 messages 2000/11/30

[ruby-talk:6173] RE: Mapping text to method calls

From: aschneiderman@...
Date: 2000-11-08 18:10:05 UTC
List: ruby-talk #6173
Thanks very much to hipster and Aleksi for their examples; it's just
what the doctor ordered.


> > P.S.  In theory, of course, I could just use emacs & some of the
voice
> > tools that are out there.  But hacking this together is a
> > whole lot more fun.
>
> Sounds fascinating, wanna tell more?
> 	- Aleksi

Here's my fantasy:

I have an RSI, and although I don't get a chance to do a lot of
programming, I've wanted an alternative to coding by typing.  I've been
mucking around in my spare time in Python, and now I'm rewriting it from
scratch in Ruby.  A few weeks ago, I discovered a wonderful project
called the Voice Toolbox Open Source Project
(http://ii2.ai.iit.nrc.ca/VoiceCode/openSource.html).  The Voice Toolbox
project is trying to create tools that will make it easier to program by
voice using any editor that's built so it can accomodate the Toolbox's
needs.  Right now, most of the work is being done around emacs--on the
PC!--with plans for forraying further into MS territory.  They've
already implemented a couple of the basic tricks, such as allowing you
to say "if number customers is greater than 5" and produce "if
numCustomers > 5".

The people involved with the project are very nice and very smart, but
after spending a few months playing around, I've come up with an
approach I like better. In a sense, the Voice Toolbox is trying to
let programmers use voice to unleash the power of an emacs-style
approach to coding.  I can appreciate this approach, but it seems to me
that it plays to the weaknesses rather than the strengths of voicing.

For example, suppose you want to grab a copy of a method you wrote in
another program and use it as a template to create a new, modified
method (assuming reuse isn't an option).  I can describe the task at a
fairly high level:  "grab method glomResults from class blueberry and
make a copy, changing variables numColors and numSassafras to
numBrightColors and numTea."  To do this by hand involves a fair amount
of typing: open a file, find the method, copy just the method, paste it
into my current program, and do 2 search-and-replaces w/in just that
method.  Making it possible for me to take all of these steps using
voice rather than typing is better than nothing, but why not go one step
better?  Why not build a system in which you could voice that request in
one line?

Similarly, one of the problems that's always vexed me about coding is
that I'll discover how to do something complicated in a programming
language, then six months later I'll need the same trick but won't
remember where I used it.  In an ideal world, you'd solve that problem
by turning every solution into an object/class that you stored in a
reusable library.  Since I don't know anyone who does that, I'm looking
for a simpler approach.  For ex, if I've figured out in Perl how to read
in a file in one fell swoop, I'd say, "grab lines 5-8 and store them
under Perl:files."  Six months from now, I'd say, "help with
Perl:files," get a list of topics, then paste in the appropriate
example.  You could certainly do this by hand, but it seems to me that
it would be easier and more natural to do it by voice.

Obviously, this is no small feat.  I'm starting by writing a very simple
editor--essentially vi ala voice--because I know from previous
experience that until I have something to play w/, I won't know what I
really want.  Also, building something that powerful from scratch is a
daunting task.  If the class browser/refactoring tool folks have been
talking about already existed, I could get a lot done using its parsing
tools.  Since it isn't, and since I'm at best a middling programmer with
not a lot of time on my hands, I'll incrementally cobble something
together.

If I ever get something together that's halfway decent, I'll be sure to
post it to the Ruby app list.

Thanks,
Anders Schneiderman
National Journal Group


Sent via Deja.com http://www.deja.com/
Before you buy.

In This Thread

Prev Next