[Toybox] [PATCH] optional fatter cat(1)

Rob Landley rob at landley.net
Sat Jan 3 22:54:59 PST 2015


On 01/03/2015 10:49 PM, David Seikel wrote:
> On Sat, 3 Jan 2015 23:31:38 -0500 Rich Felker <dalias at libc.org> wrote:
> 
>> On Sun, Jan 04, 2015 at 02:24:19PM +1000, David Seikel wrote:
>>> On Sat, 3 Jan 2015 23:07:55 -0500 Rich Felker <dalias at libc.org>
>>> wrote:
>>>
>>>>> If vi/uemacs/joe/nano are trivial extensions of the same basic
>>>>> infrastructure (sort of true modulo vi command mode), I have no
>>>>> problem implementing lots of sets of keybindings. But the first
>>>>> target is vi because it's the only one actually in posix.  
>>>>
>>>> My guess is that this is not so easy, and that attempting to do it
>>>> this way would have a lot of subtle failures that would just annoy
>>>> users. But it might be a lot less annoying than being stuck with
>>>> nothing but vi...
>>>
>>> It was actually quite easy once I had done my homework.  I don't see
>>> how it "would have a lot of subtle failures that would just annoy
>>> users."
>>
>> The how/why is just past experience, e.g. joe -- jmacs feels nothing
>> like emacs and it's frustrating because your brain has to be in "emacs
>> mode" to use it, but then nothing actually works like emacs. The only
>> emacs workalike I've seen that actually fits my emacs workflow is mg,
>> and even then only until I have a non-ASCII file, in which case it
>> breaks horribly...
> 
> Wellll, my research didn't include "how does this feel to experienced
> users of these editors".

It's pretty important. Not having proper guinea pigs lined up _and_ a
way to do fast turnaround on their fixes is part of the reason this is
on the back burner.

> Not actually being an emacs user these days,
> I'll have to rely on people like you to report how you think the "feel"
> might need adjusting.

I remember when Wolfgang Denk, the maintainer of u-boot, tried
Aboriginal Linux a few years ago. He broke it 3 completely unique ways
in like the first 2 days, and when I fixed all that (adding things like
the environment variable whitelist and the check whether your host had
static libraries installed) he'd lost all interest in the project
because it didn't work for him and he had better things to do with his time.

His input was hugely valuable to me, but I couldn't sustain his interest.

> Rob has mentioned a few times about Linus Torvalds maintaining his own
> emacs fork, and how it would be great if the toybox emacs could convert
> Linus.  Certainly feedback from him be welcome as also.

Hah. Not gonna happen.

He wrote code and I get to study that code and figure out WHY ever weird
little crease in it exists. Best of all he posted a repository with
individual commits and I get to look at each commit and try to work out
the _problem_ he solved when he did it.

Joel Spolsky wrote a marvelous piece about extracting implicit knowledge
from existing code almost 15 years ago:

http://www.joelonsoftware.com/articles/fog0000000069.html

In my case I'm mostly using other sources of knowledge to implement
posix commands (posix, man pages, almost 20 years of using these
commands, the giant pile of use case that is aboriginal linux
bootstrapping itself and building linux from scratch under it, my
history maintaining busybox...) but I'm aware how _much_ of it there is.

With making a comfortable microemacs UI... I think I may have to get
back in touch with Eric Raymond (who used to maintain the emacs lisp
library back in the 80's and is THE biggest emacs user I know) and see
if I can get him to use the result?

(This is complicated by the fact that gnu emacs is actually a lisp
application framework, it is to lisp what browsers are to javascript and
what Eric rally does is code in lisp, so the _editing_ functions are
secondary to him. That said, "this runs javascript" and "this is a
comfortable browser to use to read web pages" are sort of almost
seperable tasks maybe? Ok, it won't run google maps but is it rendering
HTML properly and does the back button work in a non-crazy manner?)

(Or see if Dalias can stomach using it for a week or two, and tell me
what's wrong and fix it. Possibly if Dalias and I wind up at CELF or
Ohio LinuxFest again and he can actually show me in person what's
screwed up...)

But again, this takes focus and is a can of worms that must be seen
through once opened. As I learned with the shell, if you let it sit long
enough sufficiently unfinished, you more or less have to redo it when
you come back. (Or maybe that's just me.)

Rob


More information about the Toybox mailing list