[Toybox] awk (Re: ps down, top to go)

Rob Landley rob at landley.net
Mon May 30 14:42:41 PDT 2016


On 05/30/2016 03:32 AM, Andy Chu wrote:
>> I mention this because the article at that link looks like ivory tower
>> academic fluff to me. I can drag out the crampons and grind my way
>> through a closer reading, but I'm 99% certain LL is _not_ an existing
>> software package or library, it appears to be a way of applying the
>> International Code of Zoological Nomenclature to programming languages
>> so academics can sort the papers they write about them in the Journal Of
>> Open Source Tenure Review.
> 
> If you want to write a parser without knowing any parsing algorithms,
> I wish you good luck...

I actually know most of what you're talking about, I don't remember the
academic terminology for it. (My college graduation was 20 years ago.)

> If a grammar is LL(1), it basically means
> that, in a top-down parser, it's easy to write a prediction for which
> production you are in by looking at the next token, without resorting
> to arbitrary backtracking (i.e. exponential runtime in general).

They need a special name for this?

> Whether a programmer thinks like a mathematician or engineer is mostly
> orthogonal to whether their code works.

If all you care about is the result and not working with other
programmers to extend or maintain a project, you might as well just buy
code from subcontractors...

> The most important predictor is whether it is tested

Microsoft had entire floors full of people doing Windows testing, and
here in Austin Dell had its own testers that found all sorts of stuff
they didn't. (I knew one of the Dell guys who was a full-time Windows
tester during the Vista death march.)

And yet they still shipped Vista...

> -- I follow the mantra "if it's not tested,
> it's broken", and I see nothing in toybox that is a counterexample to
> that.

If I haven't tested the code I generally don't check it in yet.

> You can swear up and down until you're blue in the face about how
> careful you are with the code, but without tests, you will write bugs,
> and old bugs will resurface.

Yes, I know?

> Are you interested in the testing patches (i.e. sanitizers and
> coverage) I sent a couple months ago?

Point me to a link? (You've posted many long threads here...)

> Or do you have another plan to integrate those tools?

I have plans to improve my test suite, but the big blocker is building a
VM environment within which I can get deterministic behavior for things
that interrogate or modify system state, like "ps" and "mount". (I
probably have to break down and provide synthetic /proc snapshots. I
just really didn't want to go there...)

And I still have to go through and clean up the old contributions from
when people asked how they could help and I pointed them at the test
suite, but yesterday I looked at some cyanogenmod commits, the day
before that I was poking at wget and reading several different
http/url/uri RFCs (boy they're verbose), now I'm looking at a freebsd
build portability patch...

Rob


More information about the Toybox mailing list