From owner-freebsd-current@FreeBSD.ORG Tue Mar 3 03:14:30 2015 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 335E61DF; Tue, 3 Mar 2015 03:14:30 +0000 (UTC) Received: from vps1.elischer.org (vps1.elischer.org [204.109.63.16]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "vps1.elischer.org", Issuer "CA Cert Signing Authority" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id F2FD1134E; Tue, 3 Mar 2015 03:14:29 +0000 (UTC) Received: from Julian-MBP3.local (50-196-156-133-static.hfc.comcastbusiness.net [50.196.156.133]) (authenticated bits=0) by vps1.elischer.org (8.14.9/8.14.9) with ESMTP id t233EQOi009013 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Mon, 2 Mar 2015 19:14:26 -0800 (PST) (envelope-from julian@freebsd.org) Message-ID: <54F5270D.1010009@freebsd.org> Date: Mon, 02 Mar 2015 19:14:21 -0800 From: Julian Elischer User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 MIME-Version: 1.0 To: Alfred Perlstein , Andrey Chernov Subject: Re: Massive libxo-zation that breaks everything References: <54F31510.7050607@hot.ee> <54F34B6E.2040809@astrodoggroup.com> <54F35F29.4000603@astrodoggroup.com> <54F429EF.5050400@freebsd.org> <54F46536.8040607@mu.org> <54F4C03F.7030704@freebsd.org> <54F4FECB.90501@freebsd.org> <197AA5DC-0591-4F71-BF10-51A5D8104C11@mu.org> In-Reply-To: <197AA5DC-0591-4F71-BF10-51A5D8104C11@mu.org> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Cc: Harrison Grundy , "freebsd-current@freebsd.org" X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Mar 2015 03:14:30 -0000 On 3/2/15 5:30 PM, Alfred Perlstein wrote: > >> On Mar 2, 2015, at 4:22 PM, Andrey Chernov wrote: >> >>> On 02.03.2015 22:55, Julian Elischer wrote: >>>> On 3/2/15 5:27 AM, Alfred Perlstein wrote: >>>> >>>> >>>>> On 3/2/15 4:14 AM, Julian Elischer wrote: >>>>>> On 3/1/15 10:49 AM, Harrison Grundy wrote: >>>>>> Thanks! >>>>>> >>>>>> That does seem useful, but I'm not sure I see the reasoning behind >>>>>> putting into base, over a port or package, since processing XML in base >>>>>> is a pain, and it can't serve up JSON or HTML without additional >>>>>> utilities anyway. >>>>>> >>>>>> (If I'm reviving a long-settled thing, let me know and I'll drop it. >>>>>> I'm >>>>>> trying to understand the use case for this.) >>>>> To me it would almost seem more useful to have a programmable filter >>>>> for which you could produce >>>>> parse grammars to parse the output of various programs.. >>>>> thus >>>>> >>>>> ifconfig -a | xmlize -g ifconfig | your-favourite-xml-parser >>>>> with a set of grammars in /usr/share/xmlize/ >>>>> then we could use it for out-of-tree programs as well if we wrote >>>>> grammars for them.. >>>>> >>>>> The sentiment of machine-readable output is nice, but I think it's >>>>> slightly off target. >>>>> we shouldn't have to change all out utilities, and it isn't going to >>>>> help at all with 3rd party apps, >>>>> e.g. samba stuff. A generally easy to program output grammar parser >>>>> would be truely useful. >>>>> and not just for FreeBSD. >>>>> >>>>> I've been watching with an uncomfortable feeling, but it's taken me a >>>>> while to put my >>>>> finger on what it was.. >>>> Are you sure it's not the hairs on the back of your neck standing up >>>> due to NIH? >>>> >>>> Juniper has been doing this for years and it's very useful for them. >>> I'm not saying the ability to generate machine readable output is wrong, >>> but that the 'unix way' would be to make a filter for it. It seems that >>> the noisy people don't >>> agree with me so I will not stand in the way of progress.. >> I agree. Even if someone starts with json and xml only, it will need >> some 3rd format soon, and adding any new format have real possibility to >> break all already existent (like adding json+xml breaks plain text in >> pipes). Moreover, it violates Unix principle 'one tool == one general >> function' and lots of other rules like Eric Raymond ones, making each >> program looks like systemd. It makes harder to merge changes from other >> BSDs too. >> Proper way to do this thing is to back out all changes and write >> completely separate templates-based parser - xml/json writer. > > Read the library. It doesn't care what output format it needs. It is up to the translation layer to do it. You could even do a csv format or most any other structured output format without changing the userland utils. As far as I can see that's not an argument either way. I just think it makes more sense to spend more time writing one generic converter and grammar files than to mess up the insides of every utility in the system. If we had a tool, we could have grammar templates for 3rd party tools easily.. do YOU want to make libxo changes to 3rd party ports? of course not. so you are going off here solving a half of the problem. > > > > > >> -- >> http://ache.vniz.net/ >> _______________________________________________ >> freebsd-current@freebsd.org mailing list >> http://lists.freebsd.org/mailman/listinfo/freebsd-current >> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org" >> > >