Re: libXO-ification - Why - and is it a symptom of deeper issues?

From: Alfred Perlstein <alfred_at_freebsd.org>
Date: Mon, 16 Nov 2015 18:13:16 -0800
On 11/15/15 10:09 AM, Allan Jude wrote:
> On 2015-11-15 13:06, Garrett Cooper wrote:
>>> On Nov 15, 2015, at 09:51, Andrey Chernov <ache_at_freebsd.org> wrote:
>>>
>>>> On 15.11.2015 20:37, Adrian Chadd wrote:
>>>>> On 15 November 2015 at 09:10, Dan Partelly <dan_partelly_at_rdsor.ro> wrote:
>>>>> Meaning, is that simple to push things in head , if somone does the work, even with with no proper review of the problem at hand , and the proposed solutions ?
>>>> Nope and yup. The juniper folk had a solution to a problem multiple
>>>> people had requested work on, and their proposal was by far the
>>>> furthest along code and use wise.
>>>>
>>>> It's all fine and good making technical decisions based on drawings
>>>> and handwaving and philosophizing, but at some point someone has to do
>>>> the code. Juniper's libxo was the furthest along in implementation and
>>>> production.
>>> It seems it is the only and final argument for libXO existence. I
>>> remember 2 or 3 discussions against libXO spontaneously happens in the
>>> FreeBSD lists, all ended with that, approximately: "we already have the
>>> code and you have just speculations". Alternative and more architecture
>>> clean ideas, like making standalone template-oriented parser probably
>>> based on liXO, are never seriously considered, because nobody will code
>>> it, not for other reasons.
>> We lack a [dtd/json] spec for tools, so programming for xo'ification doesn't seems like the best idea in the world to me from a end-user sysadmin/developer perspective.
>>
>> I could just as easily use standard tools like awk, grep, sed, and more advanced languages like perl or Python to parse output, and assuming output doesn't get a major rewrite, I'd just go with that method that's worked pretty well for me over the last 10 years of my career..
>>
>>
> The big difference is, a json parser isn't going to blow up if a new
> field gets added in the middle, and your awk/grep/sed script probably will.
>

Alan is exactly correct.  This is EXACTLY why it is important.  It 
allows us to focus on the text UI without worrying about the 5000 tools 
built to parse the output of the utilities.  It allows us to grow a 
useful text UI.

Second is that parsing is as simple as doing "json2struct()" in whatever 
language you're using and then selecting a field as opposed to writing 
terrible regex.

It's basically "libification" of the program without actual libification.

Next step is to actually libify the programs.  Libifying the programs 
would be VERY, VERY cool.  But "libification" doesn't make json output 
not useful.

-Alfred
Received on Tue Nov 17 2015 - 01:13:22 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:01 UTC